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

Самоучитель PHP 4 - Котеров Д. В.

.pdf
Скачиваний:
99
Добавлен:
24.05.2014
Размер:
4 Мб
Скачать
☆

538

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

;

;Пустая строка может быть задана, если "не указать ничего" после знака

;равенства, или же указать слово None:

;

foo=

;

устанавливаем foo равным пустой сторке

;

foo=none

;

аналогично

;foo="none" ; устанавливаем foo равным строке 'none'

;Если вы используете константы в качестве части значения директивы и эти

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

;расширении (модуле PHP или Zend), вы можете указывать их только после

;строки, которая загружает расширение.

;

;Все значения в файле php.ini-dist соответствуют встроенным значениям

;по умолчанию. Если php.ini не задействуется, или же вы удалите из него

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

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

;Настройки языка ;

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

;Разрешает работу PHP для сервера Apache. engine=On

;Разрешает использовать короткие тэги <?. Иначе будут распознаваться

;только тэги <?php и <script>.

short_open_tag=On

;Позволяет использовать тэги <% %> а-ля ASP. asp_tags=Off

;Число значащих цифр после запятой, которые отображаются для чисел с

;плавающей точкой.

precision=14

;Признак коррекции дат (проблема 2000 года, которая может

;вызвать непонимание со стороны браузеров, которые

;на это не рассчитывают)

y2k_compliance=Off

; Использование буферизации вывода. Позволяет посылать заголовки (включая

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

539

;Cookies) после вывода текста. Правда, это происходит ценой

;незначительного замедления вывода.

;Вы можете разрешить буферизацию во время выполнения сценария путем

;вызова функций буферизации, или же включить ее по умолчанию с помощью

;следующей директивы:

output_buffering=Off

;Директива неявной отсылки говорит PHP о том, что выводимые данные нужно

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

;Ее действие эквивалентно вызовам функции flush() после

;каждого использования print() или echo() и после каждого HTML-блока.

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

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

implicit_flush=Off

;Параметр определяет, должен ли PHP использовать возможность всегда

;передавать аргументы функциям по ссылке при выполнении сценария.

;Этот метод устарел, и, скорее всего, он не будет

;поддерживаться в будущих версиях PHP/Zend.

;Описание того, каким способом должен быть передан аргумент —

;по ссылке или по значению — рекомендуется указывать при объявлении

;функции. Лучше всего, если вы попробуете установить параметр в Off

;и проверите, все ли сценарии по-прежнему работают. Если это так,

;то все в порядке, и сценарии будут совместимы и с будущими версиями

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

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

;где должны передаваться по ссылке.

allow_call_time_pass_reference=On

;Безопасный режим safe_mode=Off safe_mode_exec_dir=

;Установка некоторых переменных окружения может потенциально породить

;"дыры" в защите сценариев. Следующая директива содержит разделенный

;запятыми список префиксов. В режиме включенного безопасного режима

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

;которых начинаются с перечисленных префиксов.

;По умолчанию пользователь имеет возможность устанавливать только

540

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

;переменные окружения, начинающиеся с PHP_ (например,

;PHP_FOO=something).

;Замечание: если эта директива пуста, PHP позволяет пользователям

;модифицировать любые переменные окружения!

safe_mode_allowed_env_vars=PHP_

;Следующая директива содержит разделенный запятыми список имен

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

;путем вызова putenv().

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

;разрешает их использовать.

safe_mode_protected_env_vars=LD_LIBRARY_PATH

;Эта директива позволяет вам запрещать вызовы некоторых функций

;из соображений безопасности. Список задается в виде имен функций,

;разграниченных запятыми. Директива действует независимо от того,

;установлен ли безопасный режим или нет!

disable_functions=

;Цвета для режима раскраски синтаксиса. Любой цвет, допустимый в тэге

;<font color=???>, допустим и здесь.

highlight.string=#DD0000

highlight.comment=#FF8000

highlight.keyword=#007700

highlight.bg=#FFFFFF

highlight.default=#0000BB

highlight.html=#000000

;Другие директивы

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

;X-Powered-by в заголовки, посылаемые браузеру, и, таким образом,

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

;сценария, однако позволяет пользователю определить, использовался

;ли PHP для генерации страницы, или нет.

expose_php=On

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

Приложение 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