4

我有一个安装失败的应用程序。供应商说我可能禁用了 ini_set()。我怎样才能检查这个?

4

3 回答 3

3

我对此做了一些研究,结果发现有时 ini_set 不会返回 FALSE,而是一个空字符串。gabriel1836指出的URL中提到了这一点。检查它是否有效的最好方法是首先检查 php.ini 中的 disable_functions 标志,看看它是否被禁用,然后(如果它没有被禁用),用它更改一个值,然后立即回显 phpinfo()。如果在本地列下更改了值,那么您知道 ini_set 有效。

于 2008-10-30T19:58:36.410 回答
0

你可能想看看 php.ini 中的 CHANGEABLE 指令: http://us3.php.net/manual/en/ini.php#ini.list

关于验证 ini_set 函数是否有效,您可以检查返回值以确保它有效: http://us3.php.net/manual/en/function.ini-set.php

代码看起来像这样:

<?php
     if(ini_set('error_reporting', 'ALL') === false)
     {
         // Perform failure handling logic
     }
?>
于 2008-10-29T15:22:24.767 回答
0

您可以检查disable_functionsphp.ini 文件中的设置。这几乎是我唯一能想到的。不过,我怀疑它会被设置,除非你在共享主机或类似的东西上运行。

您可能还想检查是否使用php_admin_flagphp_admin_value在您的 Apache 配置中指定了相关设置,因为这些设置将有效地“锁定”设置并阻止ini_set()更改它。

于 2008-10-29T15:58:07.067 回答