Re: include_once changed behavior?

From: Date: Mon, 07 Jun 2004 21:47:05 +0000
Subject: Re: include_once changed behavior?
References: 1 2  Groups: php.general 
Request: Send a blank email to php-general+get-187843@lists.php.net to get a copy of this message
Marek Kilimajer wrote:
Mattias Thorslund wrote:
Hi, In order to keep configuration files outside the web root I use: include_once('../config.php'); This used to work also when running php scripts from the command line. Now I have a new server and I get "no such file or directory" when using this construct from the command line. I have worked around this by doing this: $main_folder = realpath(dirname($_SERVER['SCRIPT_FILENAME']).'/..'); include_once($main_folder . '/config.php'); The original, simpler construct still works when calling the page from a web browser, just not when I run it from the command line. The new server has a more recent version of PHP (4.3.4). I don't have the php version of the old server but it was on RedHat 9 - now I'm on Mandrake 10. What could be the difference that caused this? /Mattias
cli php uses path relative to your current directory, cgi php uses path relative to the executing script.
You can use ini_set('include_path', realpath(dirname($_SERVER['SCRIPT_FILENAME']).'/')); at the beginning of your script as workaround

« previous php.general (#187843) next »