Allow call time pass reference

Этот список включает встроенные директивы php.ini которые вы можете использовать для настроки PHP. Директивы, которые обрабатываются модулями, перечислены и подробно описаны на страницах документаций соответствующих модулей; К примеру, информация о директивах сессий может быть найдена на странице сессий .

Таблица G-3. Опции Httpd

Имя По умолчанию Изменяемый Список изменений
async_send "0" PHP_INI_ALL

Таблица G-4. Опции языка и прочих настроек

Имя По умолчанию Изменяемый Список изменений
short_open_tag "1" PHP_INI_PERDIR PHP_INI_ALL в PHP php.ini
zend.ze1_compatibility_mode "0" PHP_INI_ALL Доступна с версии PHP 5.0.0.

Краткое разъяснение конфигурационных директив.

Определяет, разрешается ли короткая форма записи ( ) тегов PHP. Если вы хотите использовать PHP в комбинации с XML, вы можете отключить эту опцию, чтобы беспрепятственно использовать . В противном случае, вы можете отобразить это при помощи PHP, например: . Если же эта опция отключена, вы должны использовать длинную форму открывающего тега PHP ( ).

Замечание: Эта директива также влияет на сокращение , которое идентично записи . Для использования этого сокращения, директива short_open_tag должна быть включена.

Включает использование тегов в стиле ASP в дополнение к обычным тегам . Это касается и сокращения для отображения значения переменных . Для получения дополнительной информации, обратитесь к разделу Вставка в HTML .

Замечание: Поддержка тегов в стиле ASP выла добавлена в версии PHP 3.0.4.

Количество значащих цифр, отображаемых для десятичных дробей.

Включение совместимости с 2000 годом (создаст проблемы с несовместимыми браузерами).

Включена ли возможность жёсткой передачи аргументов по ссылке во время вызова функции. Этот метод является устаревшим и скорее всего не будет поддерживаться будущими версиями PHP/Zend. Рекомендуемым методом указания, какие аргументы должны быть переданы по ссылке, является указание этого при объявлении функции. Вам рекомендуется попытаться отключить эту опцию, чтобы убедиться, что ваши скрипты будут правильно работают без неё и что они будут работать с будущими версиями языка (вы будете получать предупреждение каждый раз, когда вы будете пользоваться этим методом, и аргументы будут передаваться по значению, а не по ссылке).

Передача аргументов по ссылке во время вызова функции была объявлена устаревшей из соображений чистоты кода. Функция может менять свои аргументы недокументированным способом, если бы не требовалось объявление передачи аргумента по ссылке. Чтобы избежать побочных эффектов, лучше явно указывать, какие аргументы передаются по ссылке только при объявлении функции.

Определяет, разрешено ли PHP выдавать факт своего присутствия на сервере (например, добавляя свою подпись в заголовок веб-сервера). Ни в коей мере это не является угрозой безопасности, но это даёт возможность определить, используете ли вы PHP на своём сервере.

Включает режим совместимости с Zend Engine 1 (PHP 4). Это влияет на клонирование, приведение типов и сравнение объектов.

Таблица G-5. Ограничения ресурсов

Имя По умолчанию Изменяемый Список изменений
memory_limit "8M" PHP_INI_ALL

Краткое разъяснение конфигурационных директив.

Эта директива задаёт максимальный объём памяти в байтах, который разрешается использовать скрипту. Это помогает предотвратить ситуацию, при которой плохо написанный скрипт съедает всю доступную память сервера. Для того, чтобы использовать эту директиву, вы должны указать её на этапе компиляции. Так, ваша строка конфигурации должна включать: —enable-memory-limit . Обратите внимание, что вы должны установить эту директиву в -1, если не хотите ограничивать объём памяти.

Начиная с версии PHP 4.3.2, если memory_limit включён, стала доступна функция PHP memory_get_usage() .

Таблица G-6. Конфигурационные опции обработки данных

Имя По умолчанию Изменяемый Список изменений
track_vars "On" PHP_INI_??
arg_separator.output "&" PHP_INI_ALL Доступна с версии PHP 4.0.5.
arg_separator.input "&" PHP_INI_PERDIR Доступна с версии PHP 4.0.5.
variables_order "EGPCS" PHP_INI_ALL
register_globals "0" PHP_INI_PERDIR PHP_INI_ALL в PHP track_vars boolean

Если включено, переменные окружения, GET, POST, Cookie и серверные переменные могут быть получены через глобальные ассоциативные массивы $_ENV , $_GET , $_POST , $_COOKIE и $_SERVER .

Обратите внимание, что начиная с версии PHP 4.0.3, track_vars всегда включена.

Этот разделитель используется в генерируемых PHP URL’ах в качестве разделителя аргументов.

Список разделителей, используемых PHP для получения переменных из URL’ов.

Замечание: Каждый символ в этой директиве считается разделителем!

Устанавливает порядок обработки переменных EGPCS (Environment, GET, POST, Cookie, Server). Значением по умолчанию для этой директивы является "EGPCS". Установка её в "GP", к примеру, заставит PHP полностью игнорировать переменные окружения, cookie и сервера, а так же перезаписать любую GET-переменную POST-переменной с таким же именем.

Когда включено, переменные SERVER и ENV создаются в тот момент, когда они впервые используются (Just In Time), а не в начале выполнения скрипта. Если эти переменные в скрипте не используются, включение этой директивы приведёт к росту производительности.

Регистрировать или нет переменные EGPCS (Environment, GET, POST, Cookie, Server) в качестве глобальных переменных.

Замечание: На поведение register_globals влияет директива variables_order .

Сообщает PHP, следует ли объявляеть переменные argv и argc (которые будут содержать GET-информацию).

Эта директива стала доступна начиная с версии PHP 5.0.0.

Устанавливает максимальный допустимый размер POST-данных. Это свойство также влияет на закачиваемые файлы. Чтобы закачивать большие файлы, это значение должно быть выше upload_max_filesize .

Устанавливает порядок обработки переменных GET/POST/COOKIE. Значением по умолчанию для этой директивы является "GPC". Установка её в "GP", к примеру, приведёт к тому, что PHP будет полностью игнорировать cookies и перезапишет любую GET-переменную POST-переменной с таким же именем.

Замечание: Эта опция не доступна в PHP 4. Вместо неё используйте variables_order .

Определяет имя файла, который будет автоматически обрабатываться перед главным файлом. Файл вызывается так, будто он был подключён при помощи функции include() , так что используется include_path .

Читайте также:  Visual c redistributable 2010 x64 sp1

Специальное значение none отключает эту директиву.

Определяет имя файла, который будет автоматически обрабатываться после главного файла. Файл вызывается так, будто он был подключён при помощи функции include() , так что используется include_path .

Специальное значение none отключает эту директиву.

Начиная с версии 4.0b4, PHP всегда отправляет кодировку по умолчанию в заголовке Content-Type. Чтобы отключить отправку кодировки, просто установите её пустой строкой.

Всегда объявлять переменную $HTTP_RAW_POST_DATA.

Разрешает обработку HTTP-запросов WebDAV при помощи PHP-скриптов (например PROPFIND, PROPPATCH, MOVE, COPY и т.д.). Эта директива не существует начиная с версии PHP 4.3.2. Если вы хотите получить POST-данные этих запросов, вы должны также включить always_populate_raw_post_data .

Таблица G-7. Конфигурационные Опции Путей и Директорий

Имя По умолчанию Изменяемый Список изменений
include_path ".;/path/to/php/pear" PHP_INI_ALL
doc_root NULL PHP_INI_SYSTEM
user_dir NULL PHP_INI_SYSTEM
extension_dir "/path/to/php" PHP_INI_SYSTEM
cgi.fix_pathinfo "0" PHP_INI_SYSTEM
cgi.force_redirect "1" PHP_INI_SYSTEM
cgi.redirect_status_env "" PHP_INI_SYSTEM
fastcgi.impersonate "0" PHP_INI_SYSTEM
cgi.rfc2616_headers "0" PHP_INI_SYSTEM

Краткое разъяснение конфигурационных директив.

Пример G-1. include_path в Unix

Пример G-2. include_path в Windows

Использование . в include_path позволяет задавать относительные пути для подключения файлов, так как точка означает текущую директорию.

Базовое имя директории, используемой в домашнем каталоге пользователя для PHP файлов, например public_html .

В какой директории PHP должен искать динамически загружаемые расширения. См. также: enable_dl и dl() .

Which dynamically loadable extensions to load when PHP starts up.

Обеспечивает поддержку правильных PATH_INFO/PATH_TRANSLATED в CGI. Раньше PHP просто устанавливал PATH_TRANSLATED в SCRIPT_FILENAME и не обращал внимания на PATH_INFO. Для получения дополнительной информации о PATH_INFO, обратитесь к спецификации CGI. Установка этого значения в 1 заставит PHP CGI исправлять свой путь в соответствии со спецификацией. Значение 0 соответствует предыдущему поведению. По умолчанию установлен 0. Вы должны исправить свои скрипты так, чтобы они использовали SCRIPT_FILENAME вместо PATH_TRANSLATED.

Директива cgi.force_redirect необходима для обеспечения безопасности во время работы PHP в качестве CGI под большинством веб-серверов. Если оставить неопределённым, по умолчанию PHP включает эту директиву. Вы можете выключить её на свой страх и риск .

Замечание: Пользователям Windows: Вы можете безопасно выключить её под IIS. Более того, вы должны это сделать. Чтобы заставить OmniHTTPD или Xitami работать, вы должны отключить эту директиву.

Если cgi.force_redirect включена и вы работаете не под веб-сервером Apache или Netscape (iPlanet), вам может понадобится установить переменную окружения, которую будет искать PHP чтобы убедится, что он может продолжать выполнение.

Замечание: Установка этой переменной может повлечь за собой проблемы с безопасностью, так что вы должны знать, что вы делаете .

FastCGI под IIS (в ОС на базе WINNT) поддерживает возможность имперсонации прав безопасности вызывающего клиента. Это позволяет IIS определить контекст безопасности, в котором выполняется запрос. mod_fastcgi под Apache на текущий момент не поддерживает эту возможность (03/17/2002). Установите в 1 при работе под IIS. Значение по умолчанию — ноль.

Сообщает PHP, какой тип заголовков использовать при отправке кода ответа HTTP. Если установлено в 0, PHP отправляет заголовок "Status:", который поддерживается Apache и другими веб-серверами. Если установлено в 1, PHP отправляет заголовок, соответствующий RFC 2616 . Оставьте в значении 0, если вы не уверены в том, что это значит.

Таблица G-8. Конфигурационные Опции Закачивания Файлов

Имя По умолчанию Изменяемый Список изменений
file_uploads "1" PHP_INI_SYSTEM PHP_INI_ALL в PHP file_uploads boolean

Временная директория, используемая для хранения файлов во время закачивания. Должна быть доступна для записи пользователю, от имени которого запущен PHP. Если не указана, используется директория по умолчанию для вашей системы.

Максимальный размер закачиваемого файла.

Таблица G-9. Конфигурационные Опции Общего SQL

Имя По умолчанию Изменяемый Список изменений
sql.safe_mode "0" PHP_INI_SYSTEM

Краткое разъяснение конфигурационных директив.

Предостережение

Отладчик по умолчанию реализован только в PHP 3. Для получения дополнительной информации обратитесь к разделу Прил. E .

Имя DNS или IP адрес хоста, используемый отладчиком.

Номер порта, используемый отладчиком.

Определяет, включён ли отладчик.

List of Supported Timezones
Пред. Начало След.
Директивы php.ini

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

Бывает, что при установке некоторые CMS и другие скрипты (типичный пример — «1С-Битрикс».) требуют включить параметр php.ini allow_call_time_pass_reference. Для этого создайте в нужной папке (например, в той папке, куда вы устанавливаете скрипт) файл .htaccess и поместите в него такую директиву:

Если файл .htaccess в нужной папке уже существует, то просто добавьте эту строку в конец. Действие этой директивы распространяется и на все подпапки.

Web-технологии: База знаний

Описание встроенных директив php.ini

Этот список включает встроенные директивы php.ini которые вы можете использовать для настроки PHP. Директивы, которые обрабатываются модулями, перечислены и подробно описаны на страницах документаций соответствующих модулей; К примеру, информация о директивах сессий может быть найдена на странице сессий.

Опции Httpd

Опции Httpd

Имя По умолчанию Изменяемый Список изменений
async_send «0» PHP_INI_ALL
Читайте также:  Как запустить программу в монопольном режиме 1с

Языковые опции

Опции языка и прочих настроек

Имя По умолчанию Изменяемый Список изменений
short_open_tag "1" PHP_INI_PERDIR PHP_INI_ALL в PHP php.ini
zend.ze1_compatibility_mode "0" PHP_INI_ALL Доступна с версии PHP 5.0.0.

Краткое разъяснение конфигурационных директив.

Определяет, разрешается ли короткая форма записи ( ) тегов PHP. Если вы хотите использовать PHP в комбинации с XML, вы можете отключить эту опцию, чтобы беспрепятственно использовать . В противном случае, вы можете отобразить это при помощи PHP, например: . Если же эта опция отключена, вы должны использовать длинную форму открывающего тега PHP ( ).

Замечание: Эта директива также влияет на сокращение , которое идентично записи . Для использования этого сокращения, директива short_open_tag должна быть включена.

Замечание: Поддержка тегов в стиле ASP выла добавлена в версии PHP 3.0.4.

Включена ли возможность жёсткой передачи аргументов по ссылке во время вызова функции. Этот метод является устаревшим и скорее всего не будет поддерживаться будущими версиями PHP/Zend. Рекомендуемым методом указания, какие аргументы должны быть переданы по ссылке, является указание этого при объявлении функции. Вам рекомендуется попытаться отключить эту опцию, чтобы убедиться, что ваши скрипты будут правильно работают без неё и что они будут работать с будущими версиями языка (вы будете получать предупреждение каждый раз, когда вы будете пользоваться этим методом, и аргументы будут передаваться по значению, а не по ссылке).

Передача аргументов по ссылке во время вызова функции была объявлена устаревшей из соображений чистоты кода. Функция может менять свои аргументы недокументированным способом, если бы не требовалось объявление передачи аргумента по ссылке. Чтобы избежать побочных эффектов, лучше явно указывать, какие аргументы передаются по ссылке только при объявлении функции.

Определяет, разрешено ли PHP выдавать факт своего присутствия на сервере (например, добавляя свою подпись в заголовок веб-сервера). Ни в коей мере это не является угрозой безопасности, но это даёт возможность определить, используете ли вы PHP на своём сервере.

Включает режим совместимости с Zend Engine 1 (PHP 4). Это влияет на клонирование, приведение типов и сравнение объектов.

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

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

Имя По умолчанию Изменяемый Список изменений
memory_limit «8M» PHP_INI_ALL

Краткое разъяснение конфигурационных директив.

Эта директива задаёт максимальный объём памяти в байтах, который разрешается использовать скрипту. Это помогает предотвратить ситуацию, при которой плохо написанный скрипт съедает всю доступную память сервера. Для того, чтобы использовать эту директиву, вы должны указать её на этапе компиляции. Так, ваша строка конфигурации должна включать: —enable-memory-limit . Обратите внимание, что вы должны установить эту директиву в -1, если не хотите ограничивать объём памяти.

Начиная с версии PHP 4.3.2, если memory_limit включён, стала доступна функция PHP memory_get_usage().

Если используется integer, значение измеряется байтами. Вы также можете использовать сокращённую запись, которая описана в этом разделе FAQ.

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

Конфигурационные опции обработки данных

Имя По умолчанию Изменяемый Список изменений
track_vars "On" PHP_INI_??
arg_separator.output "&" PHP_INI_ALL Доступна с версии PHP 4.0.5.
arg_separator.input "&" PHP_INI_PERDIR Доступна с версии PHP 4.0.5.
variables_order "EGPCS" PHP_INI_ALL
request_order "" PHP_INI_SYSTEM|PHP_INI_PERDIR Доступна с версии PHP 5.3.0
register_globals "0" PHP_INI_PERDIR PHP_INI_ALL в PHP

Краткое разъяснение конфигурационных директив.

Если включено, переменные окружения, GET, POST, Cookie и серверные переменные могут быть получены через глобальные ассоциативные массивы $_ENV , $_GET , $_POST , $_COOKIE и $_SERVER .

Обратите внимание, что начиная с версии PHP 4.0.3, track_vars всегда включена.

Этот разделитель используется в генерируемых PHP URL’ах в качестве разделителя аргументов.

Список разделителей, используемых PHP для получения переменных из URL’ов.

Замечание: Каждый символ в этой директиве считается разделителем!

Устанавливает порядок обработки переменных EGPCS (Environment, GET, POST, Cookie, Server). Значением по умолчанию для этой директивы является "EGPCS". Установка её в "GP", к примеру, заставит PHP полностью игнорировать переменные окружения, cookie и сервера, а так же перезаписать любую GET-переменную POST-переменной с таким же именем.

Эта директива регулирует порядок, в котором PHP добавляет переменные GET, POST и Cookie в массив _REQUEST. Добавление производится слева направо, новые значения перезаписывают старые.

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

Когда включено, переменные SERVER и ENV создаются в тот момент, когда они впервые используются (Just In Time), а не в начале выполнения скрипта. Если эти переменные в скрипте не используются, включение этой директивы приведёт к росту производительности.

Директивы PHP register_globals, register_long_arrays и register_argc_argv должны быть выключены для того, чтобы эта директива работала.

Регистрировать или нет переменные EGPCS (Environment, GET, POST, Cookie, Server) в качестве глобальных переменных.

Начиная с версии » PHP 4.2.0, значением по умолчанию для этой директивы является off.

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

Обратите внимание, что register_globals не может быть установлена во время выполнения скрипта (ini_set()). Тем не менее, вы можете использовать .htaccess , если ваш сервер позволяет это, как описано выше. Пример директивы в .htaccess : php_flag register_globals off .

Замечание: На поведение register_globals влияет директива variables_order.

Устанавливает порядок обработки переменных GET/POST/COOKIE. Значением по умолчанию для этой директивы является "GPC". Установка её в "GP", к примеру, приведёт к тому, что PHP будет полностью игнорировать cookies и перезапишет любую GET-переменную POST-переменной с таким же именем.

Замечание: Эта опция не доступна в PHP 4. Вместо неё используйте variables_order.

Определяет имя файла, который будет автоматически обрабатываться перед главным файлом. Файл вызывается так, будто он был подключён при помощи функции include(), так что используется include_path.

Читайте также:  Установка системы на usb

Специальное значение none отключает эту директиву.

Определяет имя файла, который будет автоматически обрабатываться после главного файла. Файл вызывается так, будто он был подключён при помощи функции include(), так что используется include_path.

Специальное значение none отключает эту директиву.

Замечание: Если скрипт завершает работу при помощи exit(), auto_append_file НЕ выполняется.

Начиная с версии 4.0b4, PHP всегда отправляет кодировку по умолчанию в заголовке Content-Type. Чтобы отключить отправку кодировки, просто установите её пустой строкой.

Всегда объявлять переменную $HTTP_RAW_POST_DATA.

Разрешает обработку HTTP-запросов WebDAV при помощи PHP-скриптов (например PROPFIND, PROPPATCH, MOVE, COPY и т.д.). Эта директива не существует начиная с версии PHP 4.3.2. Если вы хотите получить POST-данные этих запросов, вы должны также включить always_populate_raw_post_data.

Пути и Директории

Конфигурационные Опции Путей и Директорий

Имя По умолчанию Изменяемый Список изменений
include_path «.;/path/to/php/pear» PHP_INI_ALL
doc_root NULL PHP_INI_SYSTEM
user_dir NULL PHP_INI_SYSTEM
extension_dir «/path/to/php» PHP_INI_SYSTEM
cgi.fix_pathinfo «0» PHP_INI_SYSTEM
cgi.force_redirect «1» PHP_INI_SYSTEM
cgi.redirect_status_env «» PHP_INI_SYSTEM
fastcgi.impersonate «0» PHP_INI_SYSTEM
cgi.rfc2616_headers «0» PHP_INI_SYSTEM

Краткое разъяснение конфигурационных директив.

Указывает список директорий, в которых функции require(), include() и fopen_with_path() ищут файлы. Формат соответствует формату переменной окружения PATH вашей системы: список директорий, разделённых двоеточием в Unix или точкой с запятой в Windows.

Пример #1 include_path в Unix

Пример #2 include_path в Windows

Использование . в include_path позволяет задавать относительные пути для подключения файлов, так как точка означает текущую директорию.

«Корневая директория» PHP на этом сервере. Используется только в случае, если не пустая. Если PHP сконфигурирован с безопасный режим, файлы вне этой директории не обрабатываются. Если PHP не был скомпилирова с FORCE_REDIRECT, вам следует установить doc_root, если вы используете PHP в качестве CGI под любым веб-сервером (кроме IIS). Альтернативой является использование конфигурационной директивы cgi.force_redirect, речь о которой идёт ниже.

Базовое имя директории, используемой в домашнем каталоге пользователя для PHP файлов, например public_html .

В какой директории PHP должен искать динамически загружаемые расширения. См. также: enable_dl и dl().

Which dynamically loadable extensions to load when PHP starts up.

Обеспечивает поддержку правильных PATH_INFO/PATH_TRANSLATED в CGI. Раньше PHP просто устанавливал PATH_TRANSLATED в SCRIPT_FILENAME и не обращал внимания на PATH_INFO. Для получения дополнительной информации о PATH_INFO, обратитесь к спецификации CGI. Установка этого значения в 1 заставит PHP CGI исправлять свой путь в соответствии со спецификацией. Значение 0 соответствует предыдущему поведению. По умолчанию установлен 0. Вы должны исправить свои скрипты так, чтобы они использовали SCRIPT_FILENAME вместо PATH_TRANSLATED.

Директива cgi.force_redirect необходима для обеспечения безопасности во время работы PHP в качестве CGI под большинством веб-серверов. Если оставить неопределённым, по умолчанию PHP включает эту директиву. Вы можете выключить её на свой страх и риск.

Замечание: Пользователям Windows: Вы можете безопасно выключить её под IIS. Более того, вы должны это сделать. Чтобы заставить OmniHTTPD или Xitami работать, вы должны отключить эту директиву.

Если cgi.force_redirect включена и вы работаете не под веб-сервером Apache или Netscape (iPlanet), вам может понадобится установить переменную окружения, которую будет искать PHP чтобы убедится, что он может продолжать выполнение.

Замечание: Установка этой переменной может повлечь за собой проблемы с безопасностью, так что вы должны знать, что вы делаете.

FastCGI под IIS (в ОС на базе WINNT) поддерживает возможность имперсонации прав безопасности вызывающего клиента. Это позволяет IIS определить контекст безопасности, в котором выполняется запрос. mod_fastcgi под Apache на текущий момент не поддерживает эту возможность (03/17/2002). Установите в 1 при работе под IIS. Значение по умолчанию — ноль.

Сообщает PHP, какой тип заголовков использовать при отправке кода ответа HTTP. Если установлено в 0, PHP отправляет заголовок «Status:», который поддерживается Apache и другими веб-серверами. Если установлено в 1, PHP отправляет заголовок, соответствующий » RFC 2616. Оставьте в значении 0, если вы не уверены в том, что это значит.

Закачивание Файлов

Конфигурационные Опции Закачивания Файлов

Имя По умолчанию Изменяемый Список изменений
file_uploads "1" PHP_INI_SYSTEM PHP_INI_ALL в PHP

Краткое разъяснение конфигурационных директив.

Если используется integer, значение измеряется байтами. Вы также можете использовать сокращённую запись, которая описана в этом разделе FAQ. upload_tmp_dir string

Временная директория, используемая для хранения файлов во время закачивания. Должна быть доступна для записи пользователю, от имени которого запущен PHP. Если не указана, используется директория по умолчанию для вашей системы.

Максимальный размер закачиваемого файла.

Если используется integer, значение измеряется байтами. Вы также можете использовать сокращённую запись, которая описана в этом разделе FAQ.

Общий SQL

Конфигурационные Опции Общего SQL

Имя По умолчанию Изменяемый Список изменений
sql.safe_mode «0» PHP_INI_SYSTEM

Краткое разъяснение конфигурационных директив.

Конфигурационные Директивы Отладчика

Отладчик по умолчанию реализован только в PHP 3. Для получения дополнительной информации обратитесь к разделу Отладка PHP.

Имя DNS или IP адрес хоста, используемый отладчиком.

«>