由于错误
,我在运行php文件时遇到问题Cannot redeclare _pear_call_destructors() in /usr/share/pear/PEAR.php on line 777
经过调查,我发现只有让它运行才能在PHP设置中进行更改
include_path =“。:/ usr / share / php”to
include_path =“。”
但我无法找到这个
include_path = ".:/usr/share/php"
在我的php.ini文件中。我可以找到哪条其他文件?
答案 0 :(得分:3)
尝试在PHP脚本中设置它:
set_include_path('.');
确保它位于脚本的开头。此外,如果您需要向include路径添加更多内容,那么这就是您的语法:
set_include_path('/path/to/stuff' .
PATH_SEPARATOR . '/path/to/something-else/' .
PATH_SEPARATOR . get_include_path() .
PATH_SEPARATOR . '.'
);
请记住,这只是一个随意的例子。有关详细信息,请访问this page。
答案 1 :(得分:3)
从头顶开始,有三种方法可以在脚本中设置包含路径,访问此设置,在php.ini中搜索include_path
。 确保定位正确的.ini文件!某些设置有多个.ini文件。 phpinfo()
是您的朋友,可以识别正确的.ini位置。如果您有权访问shell,请轻松获取所有ini信息:
php -i | grep ini
如果此.ini配置更改因某些原因无法解决,您可以尝试使用脚本顶部的set_include_path或ini_set函数重新声明您的包含路径。这是一个从php.net部分撕掉的例子:
// Works as of PHP 4.3.0
set_include_path('.');
// Works in all PHP versions
ini_set('include_path', '.');
祝你好运,编码愉快。
PS:如果您使用的是自定义梨包,请使用包管理器或覆盖包含set_include_path
或ini_set
的include_path,从操作系统中删除pear包。防止你的发行版附带的梨加载。