почему функция phi ini_set отключена на общих хостах - PullRequest
0 голосов
/ 19 января 2010

Я использую хостинг на VPS, и они не позволили мне использовать функцию ini_set в php для настройки конфигурации во время выполнения, от сценария к сценарию. Вместо этого я должен изменить настройки непосредственно в файле php.ini, который является миссией для доступа через SSH.

Почему это?

Это, хоть и хорошо, немного раздражает, так как у меня на общем сервере 12 доменов, и я не хочу устанавливать настройки по всем направлениям ....

Ответы [ 4 ]

2 голосов
/ 19 января 2010

Если это продукт, предназначенный для торговых посредников, он, вероятно, не позволит вашим клиентам / клиентам / пользователям изменять настройки php.ini по желанию, что обычно является мудрым решением.

Но если у вас есть полный доступ к машине, разве вы не сможете повторно активировать ini_set?

1 голос
/ 19 января 2010

Как сказал Пекка, если вы можете изменить свой php.ini через SSH, попробуйте изменить его там.

Выключите safe_mode и проверьте содержимое disable_functions

Эта директива позволяет вам отключать определенные функции по соображениям безопасности. Он принимает список имен функций, разделенных запятыми. Безопасный режим не влияет на disable_functions. Эта директива должна быть установлена ​​в php.ini. Например, вы не можете установить это в httpd.conf.

0 голосов
/ 19 января 2010

Расскажите подробнее о серверных компонентах. PHP как CGI или mod_php. Включен ли PHP с suPHP или другими системами защиты? Некоторые параметры можно изменить с помощью файла .htaccess. У вас есть прямой доступ к файлу httpd.conf? Там вы можете включить ini_set () -> http://php.net/manual/en/configuration.changes.php

0 голосов
/ 19 января 2010

VPS-провайдеры имеют тенденцию заставлять своих пользователей использовать максимально безопасную среду.Отключение ini_set(), как правило, является хорошей практикой безопасности, поскольку вы можете легко иметь в своем PHP-коде оператор eval(), который, например, использует в качестве ввода переменную GET / POST / SESSION.Я считаю, что ini_set() заблокирован по умолчанию, если safe_mode включен.Я предполагаю, что любой провайдер виртуального хостинга будет применять safe_mode.

...