Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Самоучитель по PHP 4

.pdf
Скачиваний:
82
Добавлен:
02.05.2014
Размер:
4.36 Mб
Скачать

Приложение 2. Файл конфигурации PHP php.ini

541

;Ограничения ресурсов ;

;;;;;;;;;;;;;;;;;;;;;;;;

;Максимальное возможное время выполнения сценария в секундах. Если

;сценарий будет выполняться дольше, PHP принудительно завершит его. max_execution_time=30

;Максимальный объем памяти, выделяемый сценарию (8MB)

memory_limit=8M

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;Обработка ошибок и подключений ;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;Директива error_reporting должна задаваться в виде битового

;поля. Его значение можно устанавливать с помощью следующих констант,

;объединенных оператором | (OR):

; E_ALL

- Все предупреждения и ошибки.

; E_ERROR

- Критические ошибки времени выполнения.

; E_WARNING

- Предупреждения времени выполнения.

; E_PARSE

- Ошибки трансляции.

; E_NOTICE

- Замечания времени выполнения (это такие

;

предупреждения, которые, скорее всего,

;

свидетельствуют о логических ошибках в

;

сценарии, — например, использовании

;

неинициализированной переменной).

; E_CORE_ERROR

- Критические ошибки в момент старта PHP.

; E_CORE_WARNING

- Некритические предупреждения во время старта PHP.

; E_COMPILE_ERROR

- Критические ошибки времени трансляции.

; E_COMPILE_WARNING

- Предупреждения времени трансляции.

; E_USER_ERROR

- Сгенерированные пользователем ошибки.

; E_USER_WARNING

- Сгенерированные пользователем предупреждения.

; E_USER_NOTICE

- Сгенерированные пользователем замечания.

;Пример:

;показывать все ошибки, за исключением замечаний

;error_reporting = E_ALL & ~E_NOTICE

;показывать только сообщения об ошибках

;error_reporting=E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR

;отображать все ошибки, предупреждения и замечания error_reporting= E_ALL

;Печать ошибок и предупреждений прямо в браузер.

542

Часть VI. Приложения

;Для готовых сайтов рекомендуется отключать следующую директиву и

;использовать вместо нее журнализацию (см. ниже). Включенная директива

;display_errors в "рабочих" сайтах может открыть доступ пользователю к

;секретной информации: например, полному пути к документу, используемой

;базе данных и т. д.

display_errors=On

;Даже если display_errors включена, ошибки, возникающие во время старта

;PHP, не отображаются. Рекомендуется устанавливать следующую директиву

;в выключенное состояние, за исключением случая, когда вы применяете

;ее при отладке.

display_startup_errors=Off

;Сохранять ли сообщения об ошибках в файле журнала. Журнал может

;определяться настройками сервера, быть связанным с потоком stderr

;или же задаваться директивой error_log, описанной ниже. Как уже было

;сказано, в коммерческих проектах желательно использовать именно

;журнализацию, а не отображать ошибки в браузер.

log_errors=Off

;Сохранять ли последнее сообщение об ошибке или предупреждение в

;переменной $php_errormsg

track_errors=On

; Строка, которая выводится перед сообщением об ошибке. ;error_prepend_string="<font color=ff0000>"

;Строка, которая отображается после сообщения. ;error_append_string="</font>"

;Раскомментируйте, чтобы вести журнал в указанном файле. ;error_log=filename;

;Раскройте, чтобы использовать системный журнал.

;error_log=syslog

;Предупреждать, когда оператор + применяется к строкам. warn_plus_overloading=Off

;;;;;;;;;;;;;;;;;;;;

;Обработка данных ;

;;;;;;;;;;;;;;;;;;;;

Приложение 2. Файл конфигурации PHP php.ini

543

;Замечание: track_vars всегда включена, начиная с PHP 4.0.3.

;Следующая директива определяет, в каком порядке PHP будет

;регистрировать данные, полученные методами GET, POST, а также

;переменные окружения и встроенные переменные (соответственно, значение

;задается буквами G, P, C, E и S, например, EGPCS или GPC). Регистрация

;производится на основе чтения этой строки слева направо, новые значения

;переопределяют старые.

variables_order="EGPCS"

;Должен ли PHP регистрировать EGPCS-переменные как глобальные

;переменные. Возможно, вы захотите отключить эту возможность, если не

;хотите "засорять" глобальную область видимости сценария. Это имеет

;смысл, если вы используете директиву track_vars — в этом случае вы

;можете получить доступ к GPC-данным через массив $HTTP_???_VARS.

;Желательно так писать сценарии, чтобы они по возможности

;старались обходиться без директивы register_globals. Использование

;данных, поступивших из формы, как глобальных переменных, потенциально

;может породить проблемы в защите сценария, если программист не особенно

;позаботится об их устранении.

register_globals=On

;Следующая директива указывает PHP, обязан ли он создавать переменные

;$argv и $argc на основе информации, поступившей методом GET. Если вы не

;используете эти переменные, отключите директиву register_argc_argv для

;небольшого убыстрения работы PHP.

register_argc_argv=On

;Максимальный размер данных POST, который PHP сможет принять. post_max_size=8M

;Следующая директива устарела — используйте variables_order. gpc_order="GPC"

;Автоматическая обработка кавычек и апострофов:

;использовать ли автокавычки для входящих GET/POST/Cookie данных magic_quotes_gpc=Off

;заключать ли данные в автокавычки во время выполнения, например,

;для данных из SQL, exec() и т. д.

magic_quotes_runtime=Off

544

Часть VI. Приложения

;Нужно ли PHP оформлять автокавычки в стиле Sybase-style (заменять '

;на '', а не на \')

magic_quotes_sybase=Off

;Следующие директивы указывают PHP, содержимое каких файлов он должен

;обрабатывать до и после вывода сценария.

auto_prepend_file= auto_append_file=

;Начиная с версии 4.0b4, PHP всегда сообщает браузеру об используемой

;кодировке в заголовке Content-type. Для того чтобы запретить это,

;просто установите следующую директиву пустой. По умолчанию

;используется text/html без указания кодировки.

default_mimetype="text/html" ;default_charset="iso-8859-1"

;;;;;;;;;;;;;;;;;;;

;Пути и каталоги ;

;;;;;;;;;;;;;;;;;;;

;Для UNIX: "/path1:/path2".

;Для Windows: "\path1;\path2" include_path=

;Корневой каталог для PHP-сценариев.

;Игнорируется, если значение равно пустому "". doc_root=

;Каталог, который PHP использует при открытии сценария вида

;/~username. Не оказывает действия, если значение равно "". user_dir=

;Каталог, в котором хранятся динамически загружаемые расширения. extension_dir=C:/Program Files/PHP4/extensions

;Следующая директива разрешает или запрещает использование функции dl().

;Функция dl() работает неправильно в многопоточных Web-серверах,

;например, в IIS или Zeus, и автоматически отключается для них.

enable_dl=On

Приложение 2. Файл конфигурации PHP php.ini

545

;;;;;;;;;;;;;;;;;;

;Закачка файлов ;

;;;;;;;;;;;;;;;;;;

;Разрешает PHP обрабатывать закачку файлов file_uploads=On

;Каталог для временных файлов, в который PHP помещает закачанные

;файлы (используется системный временный каталог, если в директиве

;указана пустая строка)

;upload_tmp_dir=

; Максимальный размер закачанного файла upload_max_filesize=2M

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;Динамически загружаемые расширения ;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;Если вы хотите, чтобы какие-то модули загружались автоматически,

;задавайте директиву extension в формате:

;extension=modulename.extension

;Например, для Windows:

;extension=msql.dll

;или для UNIX:

;extension=msql.so

;Должно быть указано только имя, без пути. Чтобы задать

;каталог, в котором расположены расширения, используйте директиву

;extension_dir, описанную выше.

;Модули для Windows

;Замечание: поддержка MySQL и ODBC теперь включена в ядро PHP, так что

;для нее уже не нужны никакие библиотеки DLL.

;extension=php_cpdf.dll ;extension=php_cybercash.dll ;extension=php_db.dll ;extension=php_dbase.dll ;extension=php_domxml.dll ;extension=php_dotnet.dll

546

Часть VI. Приложения

;extension=php_exif.dll ;extension=php_fdf.dll extension=php_gd.dll ;extension=php_gettext.dll ;extension=php_ifx.dll ;extension=php_imap.dll ;extension=php_interbase.dll ;extension=php_java.dll ;extension=php_ldap.dll ;extension=php_mhash.dll ;extension=php_mssql65.dll ;extension=php_mssql70.dll ;extension=php_oci8.dll ;extension=php_oracle.dll ;extension=php_pdf.dll ;extension=php_pgsql.dll ;extension=php_sablot.dll ;extension=php_swf.dll ;extension=php_sybase_ct.dll ;extension=php_zlib.dll

;;;;;;;;;;;;;;;;;;;;;;;;;

; Установки для модулей ;

;;;;;;;;;;;;;;;;;;;;;;;;;

[Syslog]

;Нужно или нет определять различные переменные Syslog, такие как

;$LOG_PID, $LOG_CRON и т. д. Для ускорения работы рекомендуется

;выключать следующую директиву. Во время выполнения сценария вы

;можете включить или выключить директиву путем вызова

;функции define_syslog_variables().

define_syslog_variables=Off

[mail function]

;Только для Win32 — используемый SMTP-сервер. SMTP=mail.dklab.ru

;Только для Win32 — поле From: по умолчанию. sendmail_from= dk@dklab.ru

Приложение 2. Файл конфигурации PHP php.ini

547

;Только для UNIX — задает путь и аргументы программы sendmail (по

;умолчанию — 'sendmail -t -i').

;sendmail_path=

[Debugger]

debugger.host=localhost

debugger.port=7869

debugger.enabled=False

[Logging]

;Следующие директивы используются сценарием-примером.

;При потребности в детальном описании см. examples/README.logging. ;logging.method=db

;logging.directory=/path/to/log/directory

[Java] ;java.class.path=.\php_java.jar ;java.home=c:\jdk

;java.library=c:\jdk\jre\bin\hotspot\jvm.dll

;java.library.path=.\

[SQL] sql.safe_mode=Off

[ODBC]

;uodbc.default_db=Not yet implemented ;uodbc.default_user=Not yet implemented ;uodbc.default_pw=Not yet implemented

;Разрешает или запрещает устойчивые соединения uodbc.allow_persistent=On

;Проверка доступности соединения перед его использованием. uodbc.check_persistent=On

;Макс. число устойчивых соединений. -1 означает, что ограничений нет. uodbc.max_persistent=-1

;Макс. число соединений (устойчивых + неустойчивых).

uodbc.max_links=-1

548

Часть VI. Приложения

;Установки для LONG-полей. uodbc.defaultlrl=4096

;Установки для бинарных данных. 0 означает режим passthru, 1 – режим

;as is, 2 – преобразование в символы.

uodbc.defaultbinmode=1

;См. документацию по odbc_binmode и odbc_longreadlen для более

;детального разъяснения смысла директив uodbc.defaultlrl и

;uodbc.defaultbinmode.

[MySQL] mysql.allow_persistent=On mysql.max_persistent=-1 mysql.max_links=-1

;Порт по умолчанию для функции mysql_connect(). Если не задан, функция

;попытается использовать переменную $MYSQL_TCP_PORT или запись mysql-tcp

;в /etc/services, а также заданную во время компиляции PHP константу

;MYSQL_PORT (именно в таком порядке). К PHP для Win32 применимо только

;последнее.

mysql.default_port=

;Определяет имя сокета для локальных соединений MySQL. Если он не задан,

;использует встроенное значение по умолчанию.

mysql.default_socket=

; Хост по умолчанию для mysql_connect() (не работает в безопасном режиме).

mysql.default_host=

;Пользователь по умолчанию (не работает в безопасном режиме). mysql.default_user=

;Пароль по умолчанию (не работает в безопасном режиме).

;Замечание: идея хранить пароль в этом файле просто отвратительна. Любой

;пользователь, который может запускать PHP, сможет узнать пароль путем

;выполнения:

;echo cfg_get_var("mysql.default_password")

;Конечно, узнать пароль сможет также и пользователь, который имеет права

Приложение 2. Файл конфигурации PHP php.ini

549

; на чтение для файла php.ini. mysql.default_password=

[mSQL] msql.allow_persistent=On msql.max_persistent=-1 msql.max_links=-1

[PostgresSQL] pgsql.allow_persistent=On pgsql.max_persistent=-1 pgsql.max_links=-1

[Sybase] sybase.allow_persistent=On sybase.max_persistent=-1 sybase.max_links=-1

;sybase.interface_file="/usr/sybase/interfaces"

;Максимальный уровень серьезности отображаемых ошибок. sybase.min_error_severity=10

;Минимальный уровень серьезности отображаемых ошибок. sybase.min_message_severity=10

;Режим совместимости со старыми версиями PHP 3.0.

;Если следующая директива установлена в On, PHP будет автоматически

;присваивать тип результату на основе его типа в Sybase, вместо того,

;чтобы преобразовывать полученные значения в строки. Этот режим

;совместимости, возможно, в будущем не будет поддерживаться, так что

;лучше исправьте свои сценарии, если вам он нужен. sybase.compatability_mode=Off

[Sybase-CT] sybct.allow_persistent=On sybct.max_persistent=-1 sybct.max_links=-1 sybct.min_server_severity=10 sybct.min_client_severity=10

[bcmath]

550

Часть VI. Приложения

; Число десятичных цифр для всех bcmath-функций. bcmath.scale=0

[browscap]

;browscap=extra/browscap.ini

[Informix] ifx.default_host= ifx.default_user= ifx.default_password= ifx.allow_persistent=On ifx.max_persistent=-1 ifx.max_links=-1

;Если следующая директива установлена в On, выражение select возвращает

;содержимое поля типа text blob вместо его идентификатора. ifx.textasvarchar=0

;Заставляет команду select возвращать значение поля типа byte blob

;вместо его идентификатора.

ifx.byteasvarchar=0

;Принуждает PHP удалять завершающие пробелы из колонок с типом char

;фиксированного размера. Может помочь пользователям Informix SE. ifx.charasvarchar=0

;Если установлена, содержимое полей text и byte сохраняется в файле,

;вместо того, чтобы храниться в памяти.

ifx.blobinfile=0

;Если установлена в 0, значения NULL возвращаются как пустые строки,

;иначе они возвращаются как строки 'NULL'.

ifx.nullformat=0

[Session]

;Определяет режим хранения данных сессий. session.save_handler=files

;Следующая директива задает аргумент, передаваемый save_handler-у.

;В случае режима сохранения в файлах здесь должен указываться каталог,