在本地和远程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