PHP Include Path – Troubleshooting on Debian

debianPHP

I have the documents at http://www.example.com/ in /home/www/example.com/www running on Debian Squeeze.

/home/www/example.com/
    www/
         index.php
    php/
         include_me.php

In the php.ini I've uncommented and changed to:

include_path =".:/home/www/example.com"

In a script index.php in www, I have require_once("/php/include_me.php"). The output I am getting from PHP is:

Warning: require_once(/php/include_me.php) [function.require-once]: failed to open stream: No such file or directory in /home/www/example.com/www/index.php on line 2

Fatal error: require_once() [function.require]: Failed opening required '/php/include_me.php' (include_path='.:/home/www/example.com') in /home/www/example.com/www/index.php on line 2

As you can see, the include-path is set correctly according to the error. But if I do require_once("../php/include_me.php");, it works. Therefore, something has to be wrong with the include-path.

Does anyone know what I can do to fix it?

Best Answer

require_once("/php/include_me.php")

That is wrong (in your particular case). Right now you've told PHP to search for include_me.php file in /php/ folder (yep, /php/ and not /home/www/example.com/php/ as you expecting as you have provided absolute and not relative path).

Remove leading slash and enjoy:

require_once("php/include_me.php")

http://uk.php.net/manual/en/function.include.php

Related Topic