我在 Debian Squeeze 上运行http://www.example.com/
着这些文档。/home/www/example.com/www
/home/www/example.com/
www/
index.php
php/
include_me.php
在 php.ini 中我取消注释并更改为:
include_path =".:/home/www/example.com"
在 www 中的脚本 index.php 中,我有require_once("/php/include_me.php")
。我从 PHP 获得的输出是:
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
如您所见,根据错误提示,include-path 设置正确。但如果我这样做require_once("../php/include_me.php");
,它就会正常工作。因此,include-path 肯定出了问题。
有人知道我该怎么做才能解决这个问题吗?
答案1
require_once("/php/include_me.php")
这是错误的(就您的特定情况而言)。现在您已告诉 PHP 在文件夹中搜索include_me.php
文件/php/
(是的,/php/
但并非/home/www/example.com/php/
如您所期望的那样绝对而不是相对路径)。
删除前导斜线并享受:
require_once("php/include_me.php")