【发布时间】:2014-11-03 18:42:18
【问题描述】:
好的,所以 PHP 有很多人都知道的函数 ini_set(),并将使用它来设置各种配置选项 (here) 以帮助开发等。然而,这个函数似乎只在运行时工作如果有任何致命错误或脚本有语法错误并且无法解析/编译,则将无法工作。
因此,这样做肯定没有意义(来自手册):
http://php.net/manual/en/function.ini-set.php
示例
示例 #1 设置 ini 选项
<?php
echo ini_get('display_errors');
if (!ini_get('display_errors')) {
ini_set('display_errors', '1');
}
echo ini_get('display_errors');
?>
我不知道我是否只是遗漏了一些东西并且我的 php.ini 配置不正确,但很多时候我没有收到任何错误。对于初学者/初学者来说无疑会有很多语法错误(缺少分号,右括号等),并且说初级会搜索如何打开错误,假设上面的手动输入是正确的,但是当重新运行时他们的脚本,唉,他们没有错误,因为脚本一开始就无法解析/编译。
我知道您可以在 php.ini 文件中设置 display_errors = On 并重新启动您的 Web 服务器以将所有错误显示在屏幕上(在开发环境中使用它,绝对不是实时的),但这不是更好吗去掉这个函数,只为不同的错误级别配置php.ini文件?
更新:
我知道 ini_set 不只是用于显示错误,但如果您在某些脚本/函数/文件中调用 ini_set,代码就不是很容易管理,使用 php.ini类似的东西?
更新
所以 ini 文件可以用来设置全局配置选项,当然你会使用它来进行安全或优化,但是开发人员仍然可以在运行时使用 ini_set 覆盖其中一些选项,这可能是不可取的
总结(@Hanky웃Panky):
为什么在一些琐碎的语法错误仍然不显示时,我可以选择显示错误?
【问题讨论】:
-
ini_set('display_errors', true);
-
ini_set不仅用于设置错误显示模式:) -
@Hanky웃Panky 是的,我明白,请参阅更新
-
话虽如此,这是一个有效的问题,想知道为什么当一些琐碎的语法错误仍然不会显示时,我可以选择显示错误
-
为什么投反对票的人?好奇
标签: php compiler-errors ini