首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >php中ini_set()的作用是什么?(尤其是错误报告)

php中ini_set()的作用是什么?(尤其是错误报告)
EN

Stack Overflow用户
提问于 2014-09-10 15:46:16
回答 5查看 32.4K关注 0票数 8

好的,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覆盖其中一些选项,这可能并不可取

In (@Hanky웃Panky):

当一些琐碎的语法错误仍然不会显示时,为什么我有显示错误的选项?

EN

回答 5

Stack Overflow用户

发布于 2014-09-10 15:53:42

是的,你是对的,最好是删除这个函数,只为不同的错误级别配置php.ini文件。

但是,只有当你的机器中只有一个项目时,这才是好的,所以,这是你可以在php.ini中做的所有配置设置,如果你有多个项目设置的情况。如果您不想在该项目中进行某些设置,它将从php.ini获得

因此,对于一些配置设置,建议您只使用ini_set()在项目级别进行设置,而不会反映其他项目。

票数 2
EN

Stack Overflow用户

发布于 2018-01-18 15:49:16

string ini_set ( string $varname , string $newvalue )

基本上,设置给定配置选项的值。配置选项将在脚本执行期间保留此新值,并将在脚本结束时恢复。

对于您可以在脚本运行期间配置的所有变量。请点击下面的链接。

票数 1
EN

Stack Overflow用户

发布于 2018-07-09 17:10:38

 string ini_set ( string $varname , string $newvalue );

ini_set的目的是设置给定配置选项的值。这个新值在脚本执行期间由配置选项保留,并在脚本结束时恢复。

设置ini选项的示例

 <?php
echo ini_get('display_errors');

if (!ini_get('display_errors')) {
ini_set('display_errors', '1');
}
echo ini_get('display_errors');
?>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25759947

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档