
web - tec / PHP 5 для начинающи
.pdf

Конфигурация PHP5 823
Пути и каталоги
PHP для решения многих задач использует файловую систему. В этом разделе представлены настройки, которые влияют на обработку этих задач. Например, чтобы подключить какой+либо файл к сценарию с помощью функций require() или include(), можно просто разместить этот файл в каталоге сценария, а можно помес+ тить его в специальный каталог подключаемых файлов и указать путь к этому каталогу в директиве include_path. Это позволит не указывать впоследствии весь путь к файлу.
;;;;;;;;;;;;;;;;;;;
;Пути и каталоги ;
;;;;;;;;;;;;;;;;;;;
;UNIX: "/path1:/path2"
;include_path = ".:/php/includes"
;
;Windows: "\ path1;\ path2" ;include_path = ".;c:\ php\ includes"
;Корневой каталог для РНР-сценариев.
;Игнорируется, если значение равно "". Если PHP не был скомпилирован
;с ключом FORCE_REDIRECT, то директива doc_root ДОЛЖНА быть
;установлена, если PHP работает как CGI на любом сервере (кроме
;IIS). Обратитесь к документации по вопросам безопасности сайтов.
;Можно также использовать параметр cgi.force_redirect; см. ниже.
doc_root =
;Каталог, который РНР использует при открытии сценария вида
;/~username. Игнорируется, если значение равно "".
user_dir =
;Каталог, в котором хранятся динамически загружаемые расширения
;(модули).
extension_dir = ./
;Следующая директива разрешает или запрещает использование функции
;dl().Функция dl() работает неправильно в многопоточных
;Web-серверах, например, в IIS или Zeus, и автоматически отключается
;для них.
enable_dl = On
;Директива cgi.force_redirect необходима для обеспечения
;безопасности при работе PHP в виде CGI в большинстве Web-серверов.
;Если она не определена, то PHP по умолчанию включает ее
;автоматически. Ее можно отключить здесь на собственный страх и
;риск.
;**Эту директиву МОЖНО, а по сути, НУЖНО отключить для IIS.**
;cgi.force_redirect = 1
;Если предыдущая директива включена и используется Web-сервер
;отличный от Apache или Netscape(iPlanet), то может возникнуть
;необходимость создать переменную окружения, которую PHP будет
;проверять и в зависимости от ее значения продолжать или
;останавливать выполнение сценария. Установка этой переменной может
;вызвать проблемы в защите сценариев. Используйте ее, только если
;вы знаете что делаете.
;cgi.redirect_status_env = ;
;FastCGI на Web-сервере IIS (в операционных системах на основе
;WINNT) поддерживает возможность имитировать маркеры безопасности
;вызывающего клиента. Это позволяет IIS определить контекст
;безопасности, в котором выполняется запрос. В Web-сервере Apache
;mod_fastcgi по состоянию на 17.03.2002 не поддерживает эту функцию.


Конфигурация PHP5 825
allow_url_fopen = On
;Здесь задается пароль для анонимного FTP-доступа (email-адрес). ;from="john@doe.com"
;Здесь определяется строка User-Agent.
;user_agent="PHP"
;Таймаут по умолчанию для потоков данных, основанных на сокетах
;(в секундах).
default_socket_timeout = 60
;Если сценарии должны работать с файлами, созданными в системах
;Macintosh, или PHP работает на Macintosh-машине и необходимо
;работать с файлами из Unixили Win32-систем, установка этого флага
;заставляет PHP автоматически определять символы конца строки (EOL)
;так, чтобы функции fgets() и file() работали правильно.
;auto_detect_line_endings = Off
Динамически загружаемые расширения
Расширения позволяют добавлять функциональность в PHP без перекомпиляции исходного кода. Обычно для работы с базами данных пользователю приходится рас+ комментировать имя расширения. Например, если PHP работает на Windows+ платформе и при этом нужно подключаться к PostgreSQL+серверу, следует расском+ ментировать строку extension=php_pgsql.dll. В Unix+платформах используется файловое расширение .so вместо .dll.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Динамически загружаемые расширения ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
;Чтобы модули загружались автоматически, необходимо задавать
;настройки в формате:
;
;extension=modulename.extension
;
;Например, для Windows:
;extension=msql.dll
;
;для UNIX:
;extension=msql.so
;Примечание: указывается только имя файла расширения без пути.
;Чтобы задать каталог, в котором расположены расширения, следует
;использовать директиву extension_dir, описанную выше.
;
;Расширения для Windows
;Примечание: поддержка MySQL и ODBC теперь включена в ядро РНР,
;поэтому для нее уже не нужны никакие библиотеки DLL.
;
;extension=php_bz2.dll ;extension=php_cpdf.dll ;extension=php_curl.dll ;extension=php_dba.dll ;extension=php_dbase.dll ;extension=php_dbx.dll ;extension=php_exif.dll ;extension=php_fdf.dll


Конфигурация PHP5 827
;Только для UNIX. Можно задать аргументы (по умолчанию:
;"sendmail -t –i").
;sendmail_path =
;Передавать программе sendmail заданные параметры как.
;дополнительные Эти параметры всегда заменяют значение
;пятого параметра mail(), даже в безопасном режиме.
;mail.force_extra_paramaters =
[SQL] sql.safe_mode = Off
[ODBC]
;odbc.default_db = Пока не реализовано ;odbc.default_user = Пока не реализовано ;odbc.default_pw = Пока не реализовано
;Разрешает или запрещает постоянные соединения odbc.allow_persistent = On
;Проверка доступности соединения перед его использованием. odbc.check_persistent = On
;Макс. число постоянных соединений. -1 означает, что ограничений нет. odbc.max_persistent = -l
;Макс. число соединений (в том числе постоянных).
;-1 означает, что ограничений нет.
odbc.max_links = -l
;Обработка LONG-полей. Возвращает в переменную количество байтов. 0
;означает режим passthru
odbc.defaultlrl = 4096
;Установки для бинарных данных. 0 означает режим passthru, 1 – режим
;"как есть", 2 - преобразование в тип char.
;См. документацию по odbc_binmode и odbc_longreadlen для более
;детального разъяснения смысла директив odbc.defaultlrl и
;odbc.defaultbinmode.
odbc.defaultbinmode = l
[MySQL]
;Разрешать или запрещать постоянные соединения. mysql.allow_persistent = On
;Максимальное количество постоянных соединений. -1 означает, что
;ограничений нет.
mysql.max_persistent = -1
;Максимальное количество соединений (включая постоянные). -1
;означает, что ограничений нет.
mysql.max_links = -1
;Порт по умолчанию для функции mysql_connect(). Если порт не задан,
;функция попытается использовать переменную $MYSQL_TCP_PORT
;или запись mysql-tcp в файле /etc/services, либо заданную во время
;компиляции РНР константу MYSQL_PORT (именно в таком порядке).
;В РНР для Win32 используется только константа.
mysql.default_port =
;Здесь определяется имя сокета по умолчанию для локальных соединений
;MySQL. Если сокет не задан, то используется встроенное значение по


Конфигурация PHP5 829
;Если pgsql.ignore_notice не равно 0, то расширение не может
;записывать сообщения в журнал.
pgsql.log_notice = 0
[Sybase]
;Разрешать или запрещать постоянные соединения. sybase.allow_persistent = On
;Максимальное количество постоянных соединений. -1 означает, что
;ограничений нет.
sybase.max_persistent = -1
;Максимальное количество соединений (включая постоянные). -1
;означает, что ограничений нет.
sybase.max_links = -1
;sybase.interface_file = "/usr/sybase/interfaces"
;Минимальный уровень серьезности отображаемых ошибок. sybase.min_error_severity = 10
;Минимальный уровень серьезности отображаемых сообщений. sybase.min_message_severity = 10
;Режим совместимости со старыми версиями PHP 3.0.
;Если этот режим включен, то PHP не трактует все результаты как
;строки, а автоматически назначает им типы согласно типам в Sybase.
;Этот режим, скорее всего, в будущих версиях будет упразднен,
;поэтому лучше всего его выключить и внести соответствующие
;изменения в код.
sybase.compatability_mode = Off
[Sybase-CT]
;Разрешать или запрещать постоянные соединения. sybct.allow_persistent = On
;Максимальное количество постоянных соединений. -1 означает, что
;ограничений нет.
sybct.max_persistent = -1
;Максимальное количество соединений (включая постоянные). -1
;означает, что ограничений нет.
sybct.max_links = -1
;Минимальный уровень серьезности отображаемых сообщений сервера. sybct.min_server_severity = 10
;Минимальный уровень серьезности отображаемых сообщений клиента. sybct.min_client_severity = 10
[dbx]
;Возвращаемые имена столбцов можно конвертировать в целях
;совместимости. Возможные значения директивы dbx.colnames_case:
;"unchanged" ("не изменять"; используется по умолчанию, если
;директива не установлена)
;"lowercase" ("в нижний регистр")
;"uppercase" ("в верхний регистр")
;Рекомендуется использовать либо значение "uppercase", либо
;"lowercase" в настоящее время в целях обратной совместимости
;используется значение "unchanged"
dbx.colnames_case = "unchanged"
[bcmath]
; Количество десятичных цифр для всех bcmath-функций.


Конфигурация PHP5 831
;
;где N - целое число. В результате все файлы сеанса будут
;сохраняться не в каталоге /path, а в подкаталогах с N-уровнем
;вложений. Это полезно, если в операционной системе имеются
;сложности с сохранением большого количества файлов в одном
;каталоге, а, кроме того, это более эффективно для серверов,
;обрабатывающих большое количество сеансов.
;Примечание 1: PHP автоматически не создает такую структуру
;каталогов. С этой целью можно использовать
;сценарий, находящийся в каталоге ext/session
;Примечание 2: см. ниже раздел настроек, управляющих
;сборкой мусора, если для хранения сеансов
;используются подкаталоги.
;Модуль сохранения сеансов в файлах создает файлы,
;используя по умолчанию права доступа 600.
;Изменить настройку можно с помощью директивы:
;session.save_path = "N;MODE;/path"
;где MODE – восьмеричное представление прав доступа.
;При этом umask процесса не меняется.
session.save_path = "/tmp"
;Должен ли РНР использовать cookie-файлы. session.use_cookies = l
;Следующая директива позволяет администраторам защитить своих
;пользователей от атак, в которых используется передача
;идентификатор сеанса в URL; по умолчанию значение равно 0.
;session.use_only_cookies = 1
;Имя сеанса (используется как имя cookie-файла).
session.name = PHPSESSID
;Инициализация сеансов в начале запроса. session.auto_start = 0
;Время жизни cookie-файла сеанса. 0 - до закрытия браузера. session.cookie_lifetime = 0
;Путь, для которого cookie-файл является достоверным. session.cookie_path=/
;Домен, для которого cookie-файл является достоверным. session.cookie_domain=
;Функция, используемая для сериализации данных. Значение php задает
;стандартную функцию PHP.
session.serialize_handler= php
;Вероятность того, что при очередном запуске сценария, работающего с
;сеансами, будет вызвана функция "сборки мусора". Вероятность
;вычисляется по формуле gc_probability/gc_divisor, 1/100 означает,
;что сборка мусора запускается 1 раз в 100 запросов.
session.gc_probability |
= |
l |
session.gc_divisor |
= |
100 |
;После указанного здесь промежутка времени сохраненные данные будут
;удалены автоматически сборщиком мусора.
session.gc_maxlifetime = 1440
;Примечание: если для хранения файлов сеансов используются
;подкаталоги (см. раздел session.save_path выше),
;то сборка мусора *не* включается автоматически.
;Необходимо использовать собственную сборку мусора
;посредством shell-сценария, cron-задания или другого
;метода. Например, следующий сценарий эквивалентен