Конфигурация файла PHP.INI



Книга Конфигурация файла PHP.INI

Файл конфигурации PHP — php.ini — является окончательным и самым прямым методом влияния на функциональность PHP. Файл php.ini считывается каждый раз при инициализации PHP  —  при перезапуске httpd для модульной версии или при каждом выполнении скрипта для CGI-версии. Если изменение не отображается, остановите и перезапустите httpd. Если изменение по-прежнему не отображается, примените phpinfo() для проверки пути к php.ini.


Конфигурационный файл снабжен комментариями и тщательно проработан. Ключи чувствительны к регистру, в отличие от значений ключевых слов. Пробельные символы, как и строки, начинающиеся с точки с запятой, игнорируются. Булевы значения могут быть представлены в виде 1/0, Yes/No, On/Off или True/False. Использование значений по умолчанию в php.ini-dist приведет к разумной установке PHP, в которую можно будет внести правки позже.


Ниже мы расскажем о важных настройках в php.ini, которые могут понадобиться для парсера PHP.


short_open_tag = Off


Короткие открытые теги выглядят следующим образом: <? ?>. Этот параметр должен быть установлен в Off, если вы хотите использовать функции XML.


safe_mode = Off


Если этот параметр установлен в On, вы, вероятно, компилировали PHP с флагом --enable-safe-mode. Безопасный режим наиболее актуален для использования CGI.


safe_mode_exec_dir = [DIR]


Эта опция актуальна, только если включен безопасный режим. Ее можно установить с помощью флага --with-exec-dir во время процесса сборки Unix. PHP в безопасном режиме выполняет внешние двоичные файлы только из этого каталога, по умолчанию  —  это /usr/local/bin. Этот процесс не имеет ничего общего с обслуживанием обычной PHP/HTML-веб-страницы.


safe_mode_allowed_env_vars = [PHP_]


Эта опция устанавливает, какие переменные среды пользователи могут изменять в безопасном режиме. По умолчанию это только те переменные, перед которыми стоит “PHP_”. Если эта директива пуста, то большинство переменных можно изменять.


safe_mode_protected_env_vars = [LD_LIBRARY_PATH]


Эта опция устанавливает, какие переменные среды пользователи не могут изменять в безопасном режиме, даже если опция safe_mode_allowed_env_vars установлена в режиме разрешения.


disable_functions = [function1, function2…]


Приятным дополнением к конфигурации PHP4, перекочевавшим и в PHP5, является возможность отключения выбранных функций в целях безопасности. Раньше для этого приходилось вручную редактировать код на языке C, на основе которого был создан PHP. Файловая система и сетевые функции, вероятно, первыми подвергнутся риску, потому что возможность записывать файлы и изменять систему через HTTP  —  это всегда небезопасно.


max_execution_time = 30


Функция set_time_limit() не будет работать в безопасном режиме, поэтому max_execution_time основной способ заставить скрипт прерваться в безопасном режиме. В Windows вы должны прерывать выполнение на основе максимально потребленной памяти, а не времени. Вы также можете использовать настройки таймаута Apache, но то же будет применяться и к не-PHP файлам на сайте.


error_reporting = E_ALL & ~E_NOTICE


Значение по умолчанию  —  E_ALL & ~E_NOTICE; все ошибки, кроме уведомлений. Серверы разработки должны быть настроены, по крайней мере, на значение по умолчанию. Только производственные серверы могут иметь меньшее значение.


error_prepend_string = [“”]


Оформление настройки error_append_string позволяет изменить цвет сообщений об ошибках, чтобы он отличался от остального кода.


warn_plus_overloading = Off


Эта настройка выдает предупреждение, если оператор + используется со строками, как в значении формы.


variables_order = EGPCS


Этот параметр конфигурации заменяет gpc_order. Обе версии устарели, как и register_globals. Он устанавливает порядок различных переменных: Environment, GET, POST, COOKIE и SERVER (или Built-in). Вы можете изменить этот порядок. Переменные будут перезаписываться последовательно слева направо, причем самая правая будет каждый раз “побеждать”. Это означает, что если вы оставили настройки по умолчанию и случайно использовали одно и то же имя для переменной среды, переменной POST и переменной COOKIE, то в конце процесса это имя будет принадлежать переменной COOKIE. В реальной практике такое случается нечасто.


register_globals = Off


Этот параметр позволяет вам решить, хотите ли вы регистрировать переменные EGPCS как глобальные. Сейчас эта опция уже устарела, и, начиная с PHP4.2, этот флаг по умолчанию установлен в Off. Используйте вместо этого суперглобальные массивы. Все основные листинги кода на страницах этого руководства используют суперглобальные массивы.


gpc_order = GPC


Эта настройка считается устаревшей.


magic_quotes_gpc = On


Эта опция экранирует кавычки во входящих данных GET/POST/COOKIE. Если вы используете много форм, которые отправляют данные сами себе или другим формам и отображают значения форм, возможно, вам понадобится установить эту директиву в On или приготовиться к применению addslashes() для данных строкового типа.


magic_quotes_runtime = Off


Эта опция экранирует кавычки во входящей базе данных и строках текста. Помните, что SQL добавляет косые черты к одинарным кавычкам и апострофам при хранении строк и не удаляет их при возврате. Если эта настройка находится в Off, вам необходимо применять stripslashes() при выводе любого типа строковых данных из базы данных SQL. Если для параметра magic_quotes_sybase установлено значение On, то этот параметр должен быть в режиме Off.


magic_quotes_sybase = Off


Эта опция экранирует одинарные кавычки во входящей базе данных и текстовых строках с помощью одинарных кавычек в стиле Sybase, а не обратных слешей. Если для параметра magic_quotes_runtime установлено значение On, то этот параметр должен быть в Off.


auto-prepend-file = [путь/к/файлу]


Если здесь указан путь, PHP должен автоматически включать этот файл с помощью функции include() в начало каждого PHP файла. Действуют ограничения для include_path.


auto-append-file = [путь/к/файлу]


Если здесь указан путь, PHP должен автоматически включать этот файл с помощью функции include() в конец каждого PHP-файла, если не было выбрано экранирование посредством функции exit(). Действуют ограничения для include_path.


include_path = [DIR]


Если вы установите это значение, вы сможете включать или затребовать файлы только из этих каталогов. Каталог include обычно находится под корнем вашего документа; это обязательное условие, если вы работаете в безопасном режиме. Установите значение . , чтобы включить файлы из того же каталога, в котором находится ваш скрипт. Каталоги разделяются двоеточиями: .:/usr/local/apache/htdocs:/usr/local/lib.


doc_root = [DIR]


Если вы используете Apache, вы уже задали корень документа для этого сервера или виртуального хоста в httpd.conf. Установите это значение здесь, если вы используете безопасный режим или хотите включить PHP только на части вашего веб-сайта (например, только в одном подкаталоге корневого каталога документов).


file_uploads = [on/off]


Включите этот флаг, если будете загружать файлы с помощью PHP-скрипта.


upload_tmp_dir = [DIR]


Не раскомментируйте эту строку, если не осознаете последствий HTTP-загрузок!


session.save-handler = files


За исключением редких случаев, вам не стоит менять эту настройку. Не трогайте ее.


ignore_user_abort = [On/Off]


Этот параметр определяет, что произойдет, если посетитель сайта нажмет кнопку “Стоп” в браузере. По умолчанию установлено значение On, что означает выполнение сценария до завершения или тайм-аута. Если изменить значение параметра на Off, скрипт прервется. Этот параметр работает только в режиме модуля, но не CGI.


mysql.default_host = имя хоста


Хост сервера по умолчанию, который будет использоваться при подключении к серверу базы данных, если не указан другой хост.


mysql.default_user = имя пользователя


Имя пользователя по умолчанию, которое будет использоваться при подключении к серверу базы данных, если не указано другое имя.


mysql.default_password = пароль


Пароль по умолчанию, который будет использоваться при подключении к серверу базы данных, если не указан другой пароль.



685   0  

Comments

    Ничего не найдено.