RE: Zend refuses to include file while parser finds it

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thanks to all the messages let me answer to all of them at once.

First, I'd like to have a dedicated Linux server, but I cannot have too many
machines in my home office, unfortunately. I also develop ASP Web sites and
I find that PHP is usually IIS compatible.

There is no reason why I should not run PHP on IIS on a Windows machine.
Also the site works perfectly on Apache hosted on a Linux box.

This include problem is therefore not server related.

It therefore has to be a Zend issue.

The Zend debugger will accept the links to the includes when I call the
include from the include point of view itself.

Meaning that if the calling include is in the "includes" folder, and the
called include in the same folder, Zend will expect it to be called this
way:

include("include.php");

But this previous code will not work on the IIS or Apache server, which
expect the following:

include("includes/include.php");

And this wherever you are on the server.

I think there is something that I need to fix in Zend itself.

I also wonder if I could not redefine the include folder locally, so that
both Zend and the API picks it up and agree with each other.

Do you think that an .htaccess could do the job? I had problems with such a
file on Windows.

Otherwise I like Zend as an editor so far but I'd love to be able to use all
the features.



-----Original Message-----
From: Eric Butera [mailto:digital.tarsier@xxxxxxxxx] 
Sent: Monday, May 01, 2006 9:24 AM
To: php
Subject: Re:  Zend refuses to include file while parser finds it


On 5/1/06, Nicolas Verhaeghe <nicolas@xxxxxxxxxxxxx> wrote:
>
> When I run the Zend debugger, it returns an error telling me it cannot 
> find a certain include, while when I run the site it works fine.
>
> My development machine is a WIMP (the server is a LAMP but it's not 
> relevant here).
>
> This is not the first include in this site, but the first include 
> inside of an include:
>
> require("includes/initiate.php");
>
> I have tried pretty much everything:
>
> require("initiate.php");
> require("/includes/initiate.php");
> require("./initiate.php");
>
> And a few others more exotic.
>
> The error I get is:
>
> Debug Warning: C:\Inetpub\wwwroot\bfbb\includes\pages\header.php line 
> 3 -
> main(includes/initiate.php): failed to open stream: No such file or
> directory
> Compile Error: C:\Inetpub\wwwroot\bfbb\includes\pages\header.php line 3 -
> main(): Failed opening required 'includes/initiate.php'
> (include_path='.;c:\php4\pear')
>
> The include initiate.php calls a bunch of functions and classes.
>
> Should I change the include_path to make Zend understand where to 
> look? And why don't I get the error message with the previous 
> includes?
>
> I am testing Zend to determine if it is good environment (currently 
> using Dreamweaver, which is not that bad, but I heard that Zend is the 
> reference).
>
> Thanks for the help!
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
> Try using a combination of dirname(__FILE__) and DIRECTORY_SEPARATOR 
> to
get your paths.

You could say

require( dirname(__FILE__) . DIRECTORY_SEPARATOR . 'includes'.
DIRECTORY_SEPARATOR .'initiate.php);

which would resolve the full path with the correct separator reguardless of
OS.

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux