Включите register_globals только для одного приложения - PullRequest
3 голосов
/ 22 февраля 2012

У нас есть клиентское приложение, которое работает с включенным register_globals, но мы размещаем его на нашем общем сервере и не хотим включать register_globals в нашем основном файле php.ini.

Я попытался вставить ini_set ( 'register_globals' , 'On' );, но это не сработало. Почему не так? И есть ли лучший способ?

Ответы [ 3 ]

7 голосов
/ 22 февраля 2012

Вы всегда можете попробовать поставить:

 extract($_REQUEST,EXTR_SKIP); //thanks @Wayne Whitty

поверх каждого файла. Насколько я знаю, это дало бы те же результаты. Но на самом деле, ДЕЙСТВИТЕЛЬНО, это плохо плохо плохо использовать их. Я бы искал способ изменить код. Но иногда у тебя нет выбора.

5 голосов
/ 22 февраля 2012

Из документации php:

Обратите внимание, что register_globals не может быть установлен во время выполнения (Ini_set ()). Хотя вы можете использовать .htaccess, если ваш хост разрешает это как описано выше. Пример записи .htaccess: php_flag register_globals выкл.

ссылка на php документацию на register_globals

1 голос
/ 22 февраля 2012

register_globals можно установить только в php.ini.Не выполняется ini_set Этот параметр можно прочитать только по следующему коду:

ini_get('register_globals');
...