我有一个问题一个问题,使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文件。我可能会找到这个路径的其他文件?
在我的脑海中,有三种方法可以在脚本中设置包含路径,为了访问此设置,在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:如果您正在使用下载的自定义pear包,请使用package-manager 或 override include_path使用set_include_path
或ini_set
从操作系统中删除pear包,以防止您的发行版附带的pear加载
尝试在PHP脚本中设置:
set_include_path('.');
但是,请确保这是在脚本的开头处。此外,如果你需要添加更多的东西到包含路径,那么这是你的语法:
set_include_path('/path/to/stuff' .
PATH_SEPARATOR . '/path/to/something-else/' .
PATH_SEPARATOR . get_include_path() .
PATH_SEPARATOR . '.'
);
请记住,这只是一个任意的例子。