|
Использование глобальных переменных с PHP >= 4.2.x
Начиная с версий 4.2.x, переменная register_globals выставляется по умолчанию в 0. Обсуждение этого решения Вы можете посмотреть на официальном сайте разработчиков PHP.
В связи с обновлением интерпретатора PHP, могут возникнуть некоторые сложности в работе скриптов, в частности, скрипты, расчитывающие на register_globals = 1, перестанут корректно работать. Мы предлагаем два варианта решения данной проблемы: 1) (наиболее верный) Изменить код скриптов в соответствии с требованиями документации PHP версий 4.2.x и выше. Достаточно в начале скрипта написать для каждой переменной, получаемой через POST: $имя_переменной = $_POST['имя_переменной']; и для каждой переменной, получаемой через GET: $имя_переменной = $_GET['имя_переменной'] 2) (наиболее легкий) Создать файл ~/.php/php.ini содержащий строку "register_globals = 1". Чтобы создать такой файл, необходимо зайти на хостинговый сервер под Вашим логином и паролем с помощью SSH или Telnet и выполнить следующие команды: mkdir ~/.php echo "register_globals = 1" >> ~/.php/php.ini После данного действия, все скрипты Вашего сайта будут работать как прежде с включенной глобальной регистрацией пользовательских переменных. Напоминаем, что данный способ оставляет больше шансов злоумышленникам изменить содержимое Вашего сайта. Надо отметить, что Вы можете изменять поведение интерпретатора PHP в любом каталоге, поместив в этот каталог файл php.ini с необходимыми настройками. Помните, что конфигурационные файлы php.ini не объединяются, а замещаются, т.е: 1. Сначало читается общесистемный php.ini. 2. Полученные настройки замещаются локальным php.ini в директории вызываемого скрипта. 3. Полученные настройки дополняются из ~/.php/php.ini Из чего следует, что в случае создания пустого php.ini в директории скрипта Вы теряете все общесистемные настройки PHP сделанные нашими администраторами. В случае создания пустого php.ini в ~/.php/php.ini ничего не произойдёт. |
|