ini_set不起作用

php
2022-08-30 21:10:45

事情是这样的:

ini_set('display_errors', '1');
ini_set('safe_mode', '0');
ini_set('allow_url_fopen', '1');
ini_set('allow_url_include', '1');
print_r(ini_get_all());

我得到:

Array(
    [allow_url_fopen] => Array
        (
            [global_value] => 1
            [local_value] => 1
            [access] => 4
        )

    [allow_url_include] => Array
        (
            [global_value] => 
            [local_value] => 
            [access] => 4
        )

为什么我不能在php ini_set函数中设置该变量?该指令被指定为PHP_INI_ALL则可以在ini_set()函数中定义它!http://php.net/manual/en/ini.list.php


答案 1

display_errors

可以在运行时设置(with ),但如果脚本有致命错误,则不会有任何影响。这是因为不需要执行所需的运行时操作。ini_set()

ini_set('display_errors','Off');

safe_mode

此功能自 PHP 5.3.0 起已弃用,自 PHP 5.4.0 起已被删除。此指令属于 并且不能通过以下方式设置PHP_INI_SYSTEMini_set()

allow_url_include

ini_set('allow_url_include', 'On');

allow_url_fopen

此指令属于 并且不能通过以下方式设置PHP_INI_SYSTEMini_set()


答案 2

无法在用户脚本中更改这些变量。该值表示:access

PHP_INI_SYSTEM    4          Entry can be set in php.ini or httpd.conf  

您可以尝试将其设置在 :.htaccess

php_value  allow_url_include 1

推荐