Как проверить, включен ли ini_set () в глобальном PHP.INI или в моем PHP-скрипте? - PullRequest
3 голосов
/ 29 октября 2008

У меня есть приложение, которое не удалось установить. Производитель говорит, что я, вероятно, отключил ini_set (). Как я могу это проверить?

Ответы [ 3 ]

3 голосов
/ 30 октября 2008

Я провел некоторые исследования по этому вопросу, и оказалось, что иногда ini_set возвращает не FALSE, а пустую строку. Это упоминается в URL, указанном gabriel1836. Лучший способ проверить, работает ли он, - это сначала проверить флаг disable_functions в php.ini, чтобы увидеть, отключен ли он, а затем (если он не отключен) изменить значение вместе с ним и сразу же после этого вызвать echo phpinfo (). Если значение изменяется под локальным столбцом, значит, ini_set работает.

0 голосов
/ 29 октября 2008

Вы можете проверить настройку disable_functions в файле php.ini. Это единственное, о чем я могу думать. Я сомневаюсь, что это будет установлено, если только вы не используете общий хостинг или что-то в этом роде.

Возможно, вы также захотите проверить, указана ли соответствующая настройка с помощью php_admin_flag или php_admin_value в вашей конфигурации Apache, так как они эффективно "заблокируют" настройку и не позволят ini_set() изменить ее.

0 голосов
/ 29 октября 2008

Возможно, вы захотите взглянуть на директивы CHANGEABLE в php.ini: 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
     }
?>
...