Re: Zend refuses to include file while parser finds it

From: Date: Mon, 01 May 2006 22:45:07 +0000
Subject: Re: Zend refuses to include file while parser finds it
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-235221@lists.php.net to get a copy of this message
What happens when you run Project->Check Included Files? Is Zend using this cache in the debugger too? Ed On May 1, 2006, at 4:56 PM, Nicolas Verhaeghe wrote:
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@gmail.com] Sent: Monday, May 01, 2006 9:24 AM To: php Subject: Re: [PHP] Zend refuses to include file while parser finds it On 5/1/06, Nicolas Verhaeghe <nicolas@whiteecho.com> 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


« previous php.general (#235221) next »