在本地和远程Apache服务器上设置PHP错误
问题:使用Apache / PHP,我可以使用php_admin_ *标志和ini_set()结合使用,以在本地显示PHP错误并远程隐藏它们,而不需要对远程配置进行任何更改? 这个想法是在本地httpd.conf文件中打开显示错误标志,并关闭本地和远程索引文件。 这在远程无法访问httpd.conf或php.ini文件的情况下非常有用。
本地httpd.conf文件 - 打开错误显示:
php_admin_flag display_startup_errors on
php_admin_value display_errors on
php_admin_flag error_reporting on
php_admin_value error_reporting 2147483647
index.php文件(在本地和远程服务器中复制) - 由于上述原因导致错误显示,但远程关闭:
ini_set('error_reporting', 0);
ini_set('display_errors', 'Off');
ini_set('display_startup_errors', 'Off');
注意:根据文档ini_set应该取所有字符串,但建议使用0作为error_reporting。
理论:这允许“火灾和遗忘”适当的错误显示,而不必定期更改文件或维护本地和远程服务器之间的配置。
1)本地服务器上的httpd.conf(或vhost)文件中的php_admin_ *设置将覆盖php.ini,.htaccess中的所有设置,尤其是例如index.php代码文件中的任何设置,以便在本地启用错误显示开发机器; 和
2)在部署时,index.php文件中的设置将覆盖部署/生产服务器上php.ini中的正常(非php_admin_ *)设置,以禁止向远程生产服务器上的用户显示错误。 如果生产机器被错误配置以向用户显示可能的机密错误信息,这很好。
我找不到任何地方讨论过这种方法,但它编辑:似乎没有工作我的设置与本地(目前与Apache 2.4和PHP 7.1 - php7_module自制软件)服务器上的一个mac和远程( Linux)在网络上的主机。
我是否用这种方法遗漏或误解了某些东西?
一些参考文献
如何在PHP中获取有用的错误消息? “......你可以忘记为生产现场打开错误报告......”
php_admin_flag:php_admin_flag值:http://php.net/manual/en/install.fpm.configuration.php
php.net“如何更改配置设置”http://php.net/manual/en/configuration.changes.php
php.net“运行时配置”http://php.net/manual/en/apache.configuration.php
php.net“ini_set()”http://php.net/manual/en/function.ini-set.php
php.net“配置”http://php.net/manual/en/install.fpm.configuration.php
链接地址: http://www.djcxy.com/p/58933.html上一篇: PHP Error Setting on Local and Remote Apache Servers
下一篇: Unable to set root directory headers with htaccess, 1and1