![](/user_photo/2706_HbeT2.jpg)
PHP5_nachinayushim
.pdf![](/html/2706/356/html_7o_ZwAhYkF.IEn3/htmlconvd-YZt_5u811x1.jpg)
Â
Конфигурация PHP5
Важную роль в работе PHP играет конфигурационный файл, который называется php.ini. При запуске PHP считывает конфигурационный файл и устанавливает за+ данные в нем параметры. Если PHP установлен в виде серверного модуля, то файл считывается один раз; если PHP работает как CGI, то файл считывается для каждого запускаемого экземпляра PHP.
В этом приложении описаны все конфигурационные разделы и параметры php.ini. Многие из этих параметров уже обсуждались на страницах книги, поэтому данное приложение не представляет собой полностью новый материал, а скорее является справочником.
С дистрибутивом PHP поставляется две версии ++++++ php.ini: php.inirecommended и php.ini-dist. Согласно рекомендациям создателей PHP dist+файл подходит для разработки, тогда как для реальной среды лучше всего использовать файл recommended. В этом файле имеется несколько параметров, которые предна+ значены для повышения производительности, но могут нарушать работу старых сце+ нариев, особенно это касается настроек register_global, которые отключены (и не будут использоваться в будущих версиях PHP). В этом приложении описывается содержимое файла php.ini-dist.
Описание файла php.ini-dist
Как уже было сказано, файл php.ini-dist подходит для разработки сценариев, но не рекомендуется для работающих сайтов. В начале книги указывалось, где распо+ ложен этот файл и как PHP находит его во время запуска, а также описывалась орга+ низация php.ini (с примерами многих инструкций и допустимых для них значений).
;;;;;;;;;;;
; ВНИМАНИЕ ;
;;;;;;;;;;;
;Это стандартный файл для новых инсталляций PHP.
;По умолчанию PHP устанавливается с конфигурацией подходящей для
![](/html/2706/356/html_7o_ZwAhYkF.IEn3/htmlconvd-YZt_5u812x1.jpg)
![](/html/2706/356/html_7o_ZwAhYkF.IEn3/htmlconvd-YZt_5u813x1.jpg)
Конфигурация PHP5 815
Настройки языка
Настройки языка представляют собой конфигурационные параметры, которые непосредственно влияют на режим работы PHP. Например, значение On директивы short_open_tag позволяет вместо тегов <?php и ?> использовать для ограничения PHP+кода теги <? и ?> (хотя рекомендуется все+таки использовать длинные теги).
В этом разделе также имеется специальная статья Safe mode (безопасный режим). Безопасный режим и сопутствующие настройки предназначены непосредственно для обеспечения безопасности PHP+приложений. Некоторые функции PHP в случае не+ правильного применения могут предоставить посторонним неограниченный доступ к системе. Безопасный режим ++++++ возможность, которая оказывается полезной, когда администратор системы не может полностью доверять создателю PHP+сценария. На+ пример, безопасный режим позволяет ограничить доступ сценария к файловой сис+ теме. При поддержке сервера виртуального хостинга, на котором работает множество различных Web+сайтов, для создания безопасной системы настоятельно рекомендует+ ся использовать безопасный режим и связанные с ним функции.
Пример настройки безопасного режима: комбинация параметров safe_mode = on
и safe_mode_exec_dir = my_safe_mode_exec_dir (имя каталога вымышленное). При включенном безопасном режиме, с помощью PHP+команды exec можно запус+ кать только те исполняемые файлы, которые находятся в каталоге, указанном дирек+ тивой safe_mode_exec_dir (если он существует).
Еще один хороший пример использования безопасного режима касается перемен+ ных среды. Если разрешить пользователям устанавливать переменные среды, то это может привести к появлению серьезной бреши в безопасности всей системы, поэто+ му, когда безопасный режим включен, директива safe_mode_allowed_env_vars по умолчанию разрешает пользователям изменять только те переменные окружения, ко+ торые начинаются с префикса PHP. Отключение этой настройки позволяет изменять все переменные окружения. Директива safe_mode_protected_env_vars идет еще дальше и не позволяет изменять переменные (заданные списком отделенных друг от друга запятой имен) независимо от того, какой префикс задан в директиве safe_mode_allowed_env_vars.
Таким образом, параметр safe_mode и другие связанные с ним настройки позво+ ляют устанавливать параметры безопасности по+разному в зависимости от того, какие функции должно выполнять приложение. Чтобы защитить систему и пользовательские данные, необходимо тщательно изучить руководства по обеспечению безопасности.
;;;;;;;;;;;;;;;;;;;;
;Настройки языка ;
;;;;;;;;;;;;;;;;;;;;
;Разрешает работу РНР для сервера Apache. engine=On
;Разрешает использовать короткий тэг <?. Иначе будут
;распознаваться только тэги <?php и <script>.
;ПРИМЕЧАНИЕ: использования коротких тегов следует избегать при
;разработке приложений или библиотек, которые задуманы для
;распространения или будут использоваться на чужих PHP-серверах,
;поскольку короткие теги на этих серверах могут не поддерживаться.
;Для создания переносимого распространяемого кода короткие теги
;использовать не следует
short_open_tag=On
; Позволяет использовать тэги в стиле ASP <% %>. asp_tags=Off
![](/html/2706/356/html_7o_ZwAhYkF.IEn3/htmlconvd-YZt_5u814x1.jpg)
![](/html/2706/356/html_7o_ZwAhYkF.IEn3/htmlconvd-YZt_5u815x1.jpg)
![](/html/2706/356/html_7o_ZwAhYkF.IEn3/htmlconvd-YZt_5u816x1.jpg)
![](/html/2706/356/html_7o_ZwAhYkF.IEn3/htmlconvd-YZt_5u818x1.jpg)
![](/html/2706/356/html_7o_ZwAhYkF.IEn3/htmlconvd-YZt_5u819x1.jpg)
![](/html/2706/356/html_7o_ZwAhYkF.IEn3/htmlconvd-YZt_5u820x1.jpg)