Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP CLI通过PHP.ini抑制警告_Php_Warnings_Command Line Interface_Error Reporting - Fatal编程技术网

PHP CLI通过PHP.ini抑制警告

PHP CLI通过PHP.ini抑制警告,php,warnings,command-line-interface,error-reporting,Php,Warnings,Command Line Interface,Error Reporting,每次我在控制台中启动php时,都会收到一些警告 xx@peach ~ $php -i | echo "test"; test PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20100525/idn.so' - /usr/lib/php5/20100525/idn.so: cannot open shared object file: No such file or directory in Unk

每次我在控制台中启动php时,都会收到一些警告

xx@peach ~ $php -i | echo "test";
test
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20100525/idn.so' - /usr/lib/php5/20100525/idn.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20100525/suhosin.so' - /usr/lib/php5/20100525/suhosin.so: cannot open shared object file: No such file or directory in Unknown on line 0
error_reporting = E_ALL & ~E_WARNING & ~E_NOTICE & ~E_DEPRECATED & ~E_USER_DEPRECATED & ~E_USER_NOTICE
display_errors = On
display_startup_errors = Off
考虑到cli/php.ini,不应该有任何警告

xx@peach ~ $php -i | echo "test";
test
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20100525/idn.so' - /usr/lib/php5/20100525/idn.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20100525/suhosin.so' - /usr/lib/php5/20100525/suhosin.so: cannot open shared object file: No such file or directory in Unknown on line 0
error_reporting = E_ALL & ~E_WARNING & ~E_NOTICE & ~E_DEPRECATED & ~E_USER_DEPRECATED & ~E_USER_NOTICE
display_errors = On
display_startup_errors = Off
我通过

xx@peach ~ $ php -i | grep 'Configuration File'
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20100525/idn.so' - /usr/lib/php5/20100525/idn.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20100525/suhosin.so' - /usr/lib/php5/20100525/suhosin.so: cannot open shared object file: No such file or directory in Unknown on line 0
Configuration File (php.ini) Path => /etc/php5/cli
Loaded Configuration File => /etc/php5/cli/php.ini

我不明白为什么每次从控制台启动php时都会显示警告。我以为使用“~E_WARNING”会禁用警告?

我猜您的过滤器不起作用,因为这些警告是启动错误(IIRC:E_startup_WARNING),而不是传统的警告

之所以出现这种情况,是因为在php.ini中配置了2个扩展,但在文件系统中找不到:

/usr/lib/php5/20100525/idn.so

/usr/lib/php5/20100525/suhosin.so
这可能是由两个因素造成的:

  • 您的扩展已从文件系统中删除,但未从php.ini中删除。在这种情况下,只需注释php.ini中对应的2行即可
  • php.ini中这些扩展的路径是错误的。在这种情况下,检查扩展在磁盘上的位置,并修复php.ini中的路径
如果您想让我更具体一些,我需要查看您的php.ini以及php在您的机器上的安装方式(分发包或特定编译)


本杰明-

问题发生在从Debian 6挤压升级到Debian 7喘息之后。在我安装时,通过以下方式完全解决了此问题:

apt-get purge php5-idn         (removed from Debian 7 Wheezy, has gone into php5-intl)

apt-get purge php5-suhosin     (removed from Debian 7 Wheezy)

之后,发布“php”不会再带来警告。

suhosin更多地用于基于web的安全。在CLI模式下,应该不需要加载它,因此从CLI.ini文件中删除它不会引起任何问题。谢谢,对于这两种解决方案,我所寻找的都是“E_STARTUP_WARNING”,但如果只是将错误静音,这看起来相当难看,因此我必须修复这两个错误。对于suhosin错误,我只是清除了该包,因为该文件丢失(将von squence更新为wheezy后)“apt get purge php5 suhosin”(源代码:)。idn.so错误来自一个新的包php5 intl,它确实删除了idn包,但没有完全删除(来源:)。谢谢你的帮助,你不应该移除苏霍辛!!php5苏霍辛不是喘息的一部分,为什么不删除旧的参考文献呢。“Suhosin从第7版(喘息)起从Debian中删除”