即使在 php.ini 中使用 display_errors = On,PHP 也没有错误
Posted
技术标签:
【中文标题】即使在 php.ini 中使用 display_errors = On,PHP 也没有错误【英文标题】:No Errors in PHP even with display_errors = On in php.ini 【发布时间】:2017-08-25 18:42:07 【问题描述】:我正在 Vagrant(Ubuntu 16.04、Apache2、php7)中设置 LAMP 堆栈,而 PHP 没有显示任何错误。我有以下应该返回错误的文件:
This is a PHP File
<?php thisisnotafunction(); ?>
<?php echo date("ThisIsAnInvalidArgument"); ?>
其他 Stack Overflow 帖子(post 1、post 2、post 3)指出我需要更改 php.ini 文件以显示错误。
运行$ sudo find / -name php.ini
返回:
/etc/php/7.0/apache2/php.ini
/etc/php/7.0/cgi/php.ini
/etc/php/7.0/cli/php.ini
我进入每一个并设置display_errors = On
,重新启动apache2,但仍然没有错误。但是,将以下内容添加到我的 index.php 文件确实会显示错误:
<?php
error_reporting( E_ALL );
ini_set( "display_errors", 1 );
require_once( "sample.php" );
?>
index.php 现在返回:
This is a PHP File
Warning: require_once(sample.php): failed to open stream: No such file or directory in /var/www/html/index.php on line 6
Fatal error: require_once(): Failed opening required 'sample.php' (include_path='.:/usr/share/php') in /var/www/html/index.php on line 6
很明显,我的 PHP 设置知道如何处理错误。
【问题讨论】:
Apache 指令可以设置或取消设置此标志,ini 可能不是您安装使用的那个(也不必称为 php.ini,php7 可以读取 inis 的目录等)等) 【参考方案1】:使用php --ini
命令将显示您使用配置文件。
【讨论】:
这确认了 PHP 使用的是哪个 ini 文件。谢谢。此外,对于其他正在寻找答案的人,事实证明display_errors
在 php.ini 中出现 三次(通常两次,一次作为评论)。以上是关于即使在 php.ini 中使用 display_errors = On,PHP 也没有错误的主要内容,如果未能解决你的问题,请参考以下文章
即使我编辑了 php.ini 并且 php_ldap.dll 在正确的位置,也无法启用 PHP LDAP?
即使在调整 php.ini 后,允许的 *** 字节内存大小也会耗尽