Что такое php.ini

Что такое php.ini Хостинг

Php: описание встроенных директив php.ini — manual

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

include_pathstring

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

При поиске подключаемых файлов PHP отдельно рассматривает каждое
значение в include_path.
Он проверяет первый путь, если файл в нем не найден, то он переходит
к следующему, и так до тех пор, пока не найдёт подключаемый файл, либо
вернёт
E_WARNING
или E_ERROR.
Вы можете изменить ваш include_path во время выполнения скрипта с
помощью функции
set_include_path().

Использование . в include_path позволяет
задавать относительные пути для подключения файлов, так как
точка означает текущую директорию. Однако, более эффективно
использовать include './file', чем заставлять
PHP каждый раз проверять текущую директорию при подключении каждого файла.

Замечание:

Переменные окружения (ENV) также доступны в .ini файлах.
Таким образом, можно ссылаться на домашнюю директорию с помощью директив
${LOGIN} и ${USER}.

Переменные окружения могут отличаться между различными серверными API,
так как сами эти окружения отличаются друг от друга.

open_basedirstring

Ограничивает указанным деревом каталогов файлы, которые могут быть доступны для
PHP, включая сам файл. Эта директива НЕ подвержена влиянию
безопасного режима.

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

Опция open_basedir может распространяться не только на функции для
работы с файловой системой; например, если MySQL настроен
использовать драйвер mysqlnd, то LOAD DATA INFILE
подпадает под опцию open_basedir.
Множество функций PHP также использует open_basedir.

Специальное значение .
обозначает, что рабочая директория скрипта будет использована в качестве
базовой директории. Однако, это немного опасно, так как текущая директория
скрипта может быть легко изменена с помощью chdir().

В httpd.conf, open_basedir может быть
выключена (например, для некоторых виртуальных хостов)
тем же способом, что и любая
другая конфигурационная директива: «php_admin_value open_basedir
none
«.

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

Ограничение, определяемое open_basedir является
именем директории, а не префиксом.

По умолчанию все файлы могут быть открыты.

Замечание:

Значение open_basedir можно сделать
более строгим во время выполнения скрипта. Это означает, что если
open_basedir была установлена в /www/ в php.ini,
то скрипт может ужать конфигурацию до
/www/tmp/ во время выполнения с помощью
ini_set(). При указании нескольких директорий
можно использовать константу PATH_SEPARATOR
в качестве разделителя путей, не зависящего от операционной системы.

Замечание:

Использование опции open_basedir установит realpath_cache_size
на значение 0 и таким образом отключит кеш realpath.

doc_rootstring

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

user_ini.cache_ttlint
user_ini.filenamestring
user_dirstring

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

extension_dirstring

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

extensionstring

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

zend_extensionstring

Имя динамически загружаемого модуля Zend (например,
XDebug), который должен быть загружен при старте PHP.

cgi.check_shebang_linebool

Контролирует, нужно ли проверять первую строку CGI
PHP-скрипта на содержание #! (shebang).
Эта строка может быть необходима, если скрипт должен поддерживать как отдельный
запуск, так и с помощью PHP CGI. PHP в режиме
CGI пропускает эту строку и игнорирует её
содержимое, если данная директива включена.

cgi.discard_pathbool

Если разрешено, бинарный файл PHP CGI может безопасно располагаться вне веб-дерева
и люди не смогут обойти безопасность .htaccess.

cgi.fix_pathinfobool

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

cgi.force_redirectbool

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

Замечание:

Пользователям Windows: При использовании IIS эта опция
должна быть отключена. Тоже самое необходимо
для OmniHTTPD и Xitami.

cgi.nphbool

Если cgi.nph разрешена, cgi будет принудительно возвращать код 200 на каждый запрос.

cgi.redirect_status_envstring

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

Замечание:

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

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

Если эта опция включена и вы используете PHP в окружении CGI (например,
PHP-FPM), то вместо использования HTTP-заголовков ответа в стиле
RFC 2616, нужно использовать их эквивалент из стандарта RFC 3875, например,
вместо header(«HTTP/1.0 404 Not found»); нужно использовать
header(«Status: 404 Not Found»);

Оставьте в значении 0, если вы не уверены в том, что это значит.

fastcgi.impersonatestring

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

fastcgi.loggingbool

Включает логирование SAPI при использовании FastCGI. Логирование
включено по умолчанию.

Php: list of php.ini directives — manual

This list includes the php.ini directives you can set to configure your
PHP setup.

The «Changeable» column shows the modes determining when and where a directive may be set.
See the Changeable mode values section for their definitions.

Configuration options
NameDefaultChangeableChangelog
allow_url_fopen«1»PHP_INI_SYSTEM 
allow_url_include«0»PHP_INI_SYSTEMDeprecated as of PHP 7.4.0.
arg_separator.input«&»PHP_INI_PERDIR 
arg_separator.output«&»PHP_INI_ALL 
assert.active«1»PHP_INI_ALL 
assert.bail«0»PHP_INI_ALL 
assert.callbackNULLPHP_INI_ALL 
assert.exception«0»PHP_INI_ALL 
assert.quiet_eval«0»PHP_INI_ALLRemoved as of PHP 8.0.0
assert.warning«1»PHP_INI_ALL 
auto_append_fileNULLPHP_INI_PERDIR 
auto_detect_line_endings«0»PHP_INI_ALL 
auto_globals_jit«1»PHP_INI_PERDIR 
auto_prepend_fileNULLPHP_INI_PERDIR 
bcmath.scale«0»PHP_INI_ALL 
browscapNULLPHP_INI_SYSTEM 
cgi.check_shebang_line«1»PHP_INI_SYSTEM 
cgi.discard_path«0»PHP_INI_SYSTEM 
cgi.fix_pathinfo«1»PHP_INI_SYSTEM 
cgi.force_redirect«1»PHP_INI_SYSTEM 
cgi.nph«0»PHP_INI_ALL 
cgi.redirect_status_envNULLPHP_INI_SYSTEM 
cgi.rfc2616_headers«0»PHP_INI_ALL 
child_terminate«0»PHP_INI_ALL 
cli.pager«»PHP_INI_ALL 
cli.prompt«\b \> «PHP_INI_ALL 
cli_server.color«0»PHP_INI_ALL 
com.allow_dcom«0»PHP_INI_SYSTEM 
com.autoregister_typelib«0»PHP_INI_ALL 
com.autoregister_verbose«0»PHP_INI_ALL 
com.autoregister_casesensitive«1»PHP_INI_ALL 
com.code_page«»PHP_INI_ALL 
com.dotnet_version«»PHP_INI_SYSTEMAs of PHP 8.0.0
com.typelib_file«»PHP_INI_SYSTEM 
curl.cainfoNULLPHP_INI_SYSTEM 
date.default_latitude«31.7667»PHP_INI_ALL 
date.default_longitude«35.2333»PHP_INI_ALL 
date.sunrise_zenith«90.583333»PHP_INI_ALL 
date.sunset_zenith«90.583333»PHP_INI_ALL 
date.timezone«»PHP_INI_ALL 
dba.default_handlerDBA_DEFAULTPHP_INI_ALL
default_charset«UTF-8»PHP_INI_ALLDefault to «UTF-8».
input_encoding«»PHP_INI_ALL 
output_encoding«»PHP_INI_ALL 
internal_encoding«»PHP_INI_ALL 
default_mimetype«text/html»PHP_INI_ALL 
default_socket_timeout«60»PHP_INI_ALL 
disable_classes«»php.ini only 
disable_functions«»php.ini only 
display_errors«1»PHP_INI_ALL 
display_startup_errors«1»PHP_INI_ALL Prior to PHP 8.0.0, the default value was "0".
docref_ext«»PHP_INI_ALL 
docref_root«»PHP_INI_ALL 
doc_rootNULLPHP_INI_SYSTEM 
enable_dl«1»PHP_INI_SYSTEMThis deprecated feature will
certainly be removed in the future.
enable_post_data_readingOnPHP_INI_PERDIR 
engine«1»PHP_INI_ALL 
error_append_stringNULLPHP_INI_ALL 
error_logNULLPHP_INI_ALL 
error_prepend_stringNULLPHP_INI_ALL 
error_reportingNULLPHP_INI_ALL 
exif.encode_unicode«ISO-8859-15»PHP_INI_ALL 
exif.decode_unicode_motorola«UCS-2BE»PHP_INI_ALL 
exif.decode_unicode_intel«UCS-2LE»PHP_INI_ALL 
exif.encode_jis«»PHP_INI_ALL 
exif.decode_jis_motorola«JIS»PHP_INI_ALL 
exif.decode_jis_intel«JIS»PHP_INI_ALL 
exit_on_timeout«»PHP_INI_ALL 
expect.timeout«10»PHP_INI_ALL 
expect.loguser«1»PHP_INI_ALL 
expect.logfile«»PHP_INI_ALL 
expect.match_max«»PHP_INI_ALL 
expose_php«1»php.ini only 
extensionNULLphp.ini only 
extension_dir«/path/to/php»PHP_INI_SYSTEM 
fastcgi.impersonate«0»PHP_INI_SYSTEM 
fastcgi.logging«1»PHP_INI_SYSTEM 
file_uploads«1»PHP_INI_SYSTEM 
filter.default«unsafe_raw»PHP_INI_PERDIRDeprecated as of PHP 8.1.0.
filter.default_flagsNULLPHP_INI_PERDIR 
from«»PHP_INI_ALL 
gd.jpeg_ignore_warning«1»PHP_INI_ALL 
geoip.custom_directory«»PHP_INI_ALL
hard_timeout«2»PHP_INI_SYSTEMAvailable since PHP 7.1.0.
highlight.comment«#FF8000»PHP_INI_ALL 
highlight.default«#0000BB»PHP_INI_ALL 
highlight.html«#000000»PHP_INI_ALL 
highlight.keyword«#007700»PHP_INI_ALL 
highlight.string«#DD0000»PHP_INI_ALL 
html_errors«1»PHP_INI_ALL 
ibase.allow_persistent«1»PHP_INI_SYSTEM 
ibase.max_persistent«-1»PHP_INI_SYSTEM 
ibase.max_links«-1»PHP_INI_SYSTEM 
ibase.default_dbNULLPHP_INI_SYSTEM 
ibase.default_userNULLPHP_INI_ALL 
ibase.default_passwordNULLPHP_INI_ALL 
ibase.default_charsetNULLPHP_INI_ALL 
ibase.timestampformat«%Y-%m-%d %H:%M:%S»PHP_INI_ALL 
ibase.dateformat«%Y-%m-%d»PHP_INI_ALL 
ibase.timeformat«%H:%M:%S»PHP_INI_ALL 
ibm_db2.binmode«1»PHP_INI_ALL 
ibm_db2.i5_all_pconnect«0»PHP_INI_SYSTEMAvailable since ibm_db2 1.6.5.
ibm_db2.i5_allow_commit«0»PHP_INI_SYSTEMAvailable since ibm_db2 1.4.9.
ibm_db2.i5_dbcs_alloc«0»PHP_INI_SYSTEMAvailable since ibm_db2 1.5.0.
ibm_db2.instance_nameNULLPHP_INI_SYSTEMAvailable since ibm_db2 1.0.2.
ibm_db2.i5_ignore_userid«0»PHP_INI_SYSTEMAvailable since ibm_db2 1.8.0.
iconv.input_encoding«»PHP_INI_ALLDeprecated in PHP 5.6.0.
iconv.output_encoding«»PHP_INI_ALLDeprecated in PHP 5.6.0.
iconv.internal_encoding«»PHP_INI_ALLDeprecated in PHP 5.6.0.
ignore_repeated_errors«0»PHP_INI_ALL 
ignore_repeated_source«0»PHP_INI_ALL 
ignore_user_abort«0»PHP_INI_ALL 
implicit_flush«0»PHP_INI_ALL 
include_path«.:/path/to/php/pear»PHP_INI_ALL 
intl.default_locale PHP_INI_ALL 
intl.error_level0PHP_INI_ALL 
intl.use_exceptions0PHP_INI_ALLAvailable since PECL 3.0.0a1
last_modified«0»PHP_INI_ALL 
ldap.max_links«-1»PHP_INI_SYSTEM 
log_errors«0»PHP_INI_ALL 
log_errors_max_len«1024»PHP_INI_ALL 
mail.add_x_header«0»PHP_INI_PERDIR 
mail.force_extra_parametersNULLphp.ini only 
mail.log«»PHP_INI_PERDIR 
max_execution_time«30»PHP_INI_ALL 
max_input_nesting_level«64»PHP_INI_PERDIR 
max_input_vars1000PHP_INI_PERDIR 
max_input_time«-1»PHP_INI_PERDIR 
mbstring.language«neutral»PHP_INI_ALL 
mbstring.detect_orderNULLPHP_INI_ALL 
mbstring.http_input«pass»PHP_INI_ALLDeprecated
mbstring.http_output«pass»PHP_INI_ALLDeprecated
mbstring.internal_encodingNULLPHP_INI_ALLDeprecated
mbstring.substitute_characterNULLPHP_INI_ALL 
mbstring.func_overload«0»PHP_INI_SYSTEM Deprecated as of PHP 7.2.0; removed as of PHP 8.0.0.
mbstring.encoding_translation«0»PHP_INI_PERDIR 
mbstring.http_output_conv_mimetypes«^(text/|application/xhtml xml)»PHP_INI_ALL 
mbstring.strict_detection«0»PHP_INI_ALL 
mcrypt.algorithms_dirnullPHP_INI_ALL 
mcrypt.modes_dirnullPHP_INI_ALL 
memcache.allow_failover«1»PHP_INI_ALLAvailable since memcache 2.0.2.
memcache.max_failover_attempts«20»PHP_INI_ALLAvailable since memcache 2.1.0.
memcache.chunk_size«8192»PHP_INI_ALLAvailable since memcache 2.0.2.
memcache.default_port«11211»PHP_INI_ALLAvailable since memcache 2.0.2.
memcache.hash_strategy«standard»PHP_INI_ALLAvailable since memcache 2.2.0.
memcache.hash_function«crc32»PHP_INI_ALLAvailable since memcache 2.2.0.
memcache.protocolascii>PHP_INI_ALLSupported since memcache 3.0.0
memcache.redundancy1>PHP_INI_ALLSupported since memcache 3.0.0
memcache.session_redundancy2>PHP_INI_ALLSupported since memcache 3.0.0
memcache.compress_threshold20000>PHP_INI_ALLSupported since memcache 3.0.3
memcache.lock_timeout15>PHP_INI_ALLSupported since memcache 3.0.4
memory_limit«128M»PHP_INI_ALL 
mysql.allow_local_infile«1»PHP_INI_SYSTEM 
mysql.allow_persistent«1»PHP_INI_SYSTEM 
mysql.max_persistent«-1»PHP_INI_SYSTEM 
mysql.max_links«-1»PHP_INI_SYSTEM 
mysql.trace_mode«0»PHP_INI_ALL 
mysql.default_portNULLPHP_INI_ALL 
mysql.default_socketNULLPHP_INI_ALL 
mysql.default_hostNULLPHP_INI_ALL 
mysql.default_userNULLPHP_INI_ALL 
mysql.default_passwordNULLPHP_INI_ALL 
mysql.connect_timeout«60»PHP_INI_ALL 
mysqli.allow_local_infile«0»PHP_INI_SYSTEMBefore PHP 7.2.16 and 7.3.3 the default was «1».
mysqli.local_infile_directory PHP_INI_SYSTEMAvailable as of PHP 8.1.0.
mysqli.allow_persistent«1»PHP_INI_SYSTEM 
mysqli.max_persistent«-1»PHP_INI_SYSTEM 
mysqli.max_links«-1»PHP_INI_SYSTEM 
mysqli.default_port«3306»PHP_INI_ALL 
mysqli.default_socketNULLPHP_INI_ALL 
mysqli.default_hostNULLPHP_INI_ALL 
mysqli.default_userNULLPHP_INI_ALL 
mysqli.default_pwNULLPHP_INI_ALL 
mysqli.reconnect«0»PHP_INI_SYSTEM 
mysqli.rollback_on_cached_plink«0»PHP_INI_SYSTEM 
mysqlnd.collect_statistics«1»PHP_INI_SYSTEM 
mysqlnd.collect_memory_statistics«0»PHP_INI_SYSTEM 
mysqlnd.debug«»PHP_INI_SYSTEM 
mysqlnd.log_mask0PHP_INI_ALL 
mysqlnd.mempool_default_size16000PHP_INI_ALL 
mysqlnd.net_read_timeout«86400»PHP_INI_ALL Before PHP 7.2.0 the default value was «31536000»
and the changeability was PHP_INI_SYSTEM
mysqlnd.net_cmd_buffer_size«4096»PHP_INI_SYSTEM 
mysqlnd.net_read_buffer_size«32768»PHP_INI_SYSTEM 
mysqlnd.sha256_server_public_key«»PHP_INI_PERDIR 
mysqlnd.trace_alloc«»PHP_INI_SYSTEM 
mysqlnd.fetch_data_copy0PHP_INI_ALL 
oci8.connection_class«»PHP_INI_ALLAvailable since PECL OCI8 1.3.
oci8.default_prefetch«100»PHP_INI_SYSTEMAvailable since PECL OCI8 1.1.
oci8.eventsOffPHP_INI_SYSTEMAvailable since PECL OCI8 1.3.
oci8.max_persistent«-1»PHP_INI_SYSTEMAvailable since PECL OCI8 1.1.
oci8.old_oci_close_semanticsOffPHP_INI_SYSTEMAvailable since PECL OCI8 1.1. Deprecated as of PHP 8.1.0.
oci8.persistent_timeout«-1»PHP_INI_SYSTEMAvailable since PECL OCI8 1.1.
oci8.ping_interval«60»PHP_INI_SYSTEMAvailable since PECL OCI8 1.1.
oci8.prefetch_lob_size«0»PHP_INI_SYSTEMAvailable since PECL OCI8 3.2.
oci8.privileged_connectOffPHP_INI_SYSTEMAvailable since PECL OCI8 1.1.
oci8.statement_cache_size«20»PHP_INI_SYSTEMAvailable since PECL OCI8 1.1.
odbc.default_db *NULLPHP_INI_ALL 
odbc.default_user *NULLPHP_INI_ALL 
odbc.default_pw *NULLPHP_INI_ALL 
odbc.allow_persistent«1»PHP_INI_SYSTEM 
odbc.check_persistent«1»PHP_INI_SYSTEM 
odbc.max_persistent«-1»PHP_INI_SYSTEM 
odbc.max_links«-1»PHP_INI_SYSTEM 
odbc.defaultlrl«4096»PHP_INI_ALL 
odbc.defaultbinmode«1»PHP_INI_ALL 
odbc.default_cursortype«3»PHP_INI_ALL 
opcache.enable«1»PHP_INI_ALL 
opcache.enable_cli«0»PHP_INI_SYSTEMBetween PHP 7.1.2 and 7.1.6 inclusive, the default was «1»
opcache.memory_consumption«128»PHP_INI_SYSTEM 
opcache.interned_strings_buffer«8»PHP_INI_SYSTEM 
opcache.max_accelerated_files«10000»PHP_INI_SYSTEM 
opcache.max_wasted_percentage«5»PHP_INI_SYSTEM 
opcache.use_cwd«1»PHP_INI_SYSTEM 
opcache.validate_timestamps«1»PHP_INI_ALL 
opcache.revalidate_freq«2»PHP_INI_ALL 
opcache.revalidate_path«0»PHP_INI_ALL 
opcache.save_comments«1»PHP_INI_SYSTEM 
opcache.fast_shutdown«0»PHP_INI_SYSTEMRemoved in PHP 7.2.0
opcache.enable_file_override«0»PHP_INI_SYSTEM 
opcache.optimization_level«0x7FFEBFFF»PHP_INI_SYSTEMChanged from 0x7FFFBFFF in PHP 7.3.0
opcache.inherited_hack«1»PHP_INI_SYSTEMRemoved in PHP 7.3.0
opcache.dups_fix«0»PHP_INI_ALL 
opcache.blacklist_filename«»PHP_INI_SYSTEM 
opcache.max_file_size«0»PHP_INI_SYSTEM 
opcache.consistency_checks«0»PHP_INI_ALL 
opcache.force_restart_timeout«180»PHP_INI_SYSTEM 
opcache.error_log«»PHP_INI_SYSTEM 
opcache.log_verbosity_level«1»PHP_INI_SYSTEM 
opcache.record_warnings«0»PHP_INI_SYSTEMAvailable as of PHP 8.0.0
opcache.preferred_memory_model«»PHP_INI_SYSTEM 
opcache.protect_memory«0»PHP_INI_SYSTEM 
opcache.mmap_basenullPHP_INI_SYSTEM 
opcache.restrict_api«»PHP_INI_SYSTEM 
opcache.file_update_protection«2»PHP_INI_ALL 
opcache.huge_code_pages«0»PHP_INI_SYSTEM 
opcache.lockfile_path«/tmp»PHP_INI_SYSTEM 
opcache.opt_debug_level«0»PHP_INI_SYSTEMAvailable as of PHP 7.1.0
opcache.file_cacheNULLPHP_INI_SYSTEM 
opcache.file_cache_only«0»PHP_INI_SYSTEM 
opcache.file_cache_consistency_checks«1»PHP_INI_SYSTEM 
opcache.file_cache_fallback«1»PHP_INI_SYSTEMWindows only.
opcache.validate_permission«0»PHP_INI_SYSTEMAvailable as of PHP 7.0.14
opcache.validate_root«0»PHP_INI_SYSTEMAvailable as of PHP 7.0.14
opcache.preload«»PHP_INI_SYSTEMAvailable as of PHP 7.4.0
opcache.preload_user«»PHP_INI_SYSTEMAvailable as of PHP 7.4.0
opcache.cache_id«»PHP_INI_SYSTEMWindows only. Available as of PHP 7.4.0
opcache.jit«tracing»PHP_INI_ALLAvailable as of PHP 8.0.0
opcache.jit_buffer_size«0»PHP_INI_SYSTEMAvailable as of PHP 8.0.0
opcache.jit_debug«0»PHP_INI_ALLAvailable as of PHP 8.0.0
opcache.jit_bisect_limit«0»PHP_INI_ALLAvailable as of PHP 8.0.0
opcache.jit_prof_threshold«0.005»PHP_INI_ALLAvailable as of PHP 8.0.0
opcache.jit_max_root_traces«1024»PHP_INI_SYSTEMAvailable as of PHP 8.0.0
opcache.jit_max_side_traces«128»PHP_INI_SYSTEMAvailable as of PHP 8.0.0
opcache.jit_max_exit_counters«8192»PHP_INI_SYSTEMAvailable as of PHP 8.0.0
opcache.jit_hot_loop«64»PHP_INI_SYSTEMAvailable as of PHP 8.0.0
opcache.jit_hot_func«127»PHP_INI_SYSTEMAvailable as of PHP 8.0.0
opcache.jit_hot_return«8»PHP_INI_SYSTEMAvailable as of PHP 8.0.0
opcache.jit_hot_side_exit«8»PHP_INI_SYSTEMAvailable as of PHP 8.0.0
opcache.jit_blacklist_root_trace«16»PHP_INI_ALLAvailable as of PHP 8.0.0
opcache.jit_blacklist_side_trace«8»PHP_INI_ALLAvailable as of PHP 8.0.0
opcache.jit_max_loop_unrolls«8»PHP_INI_ALLAvailable as of PHP 8.0.0
opcache.jit_max_recursive_calls«2»PHP_INI_ALLAvailable as of PHP 8.0.0
opcache.jit_max_recursive_returns«2»PHP_INI_ALLAvailable as of PHP 8.0.0
opcache.jit_max_polymorphic_calls«2»PHP_INI_ALLAvailable as of PHP 8.0.0
open_basedirNULLPHP_INI_ALL 
output_buffering«0»PHP_INI_PERDIR 
output_handlerNULLPHP_INI_PERDIR 
pcre.backtrack_limit«1000000»PHP_INI_ALL 
pcre.recursion_limit«100000»PHP_INI_ALL 
pcre.jit«1»PHP_INI_ALL 
pdo.dsn.* php.ini only 
pdo_odbc.connection_pooling«strict»PHP_INI_ALL 
pdo_odbc.db2_instance_nameNULLPHP_INI_SYSTEMThis deprecated feature will
certainly be removed in the future.
pgsql.allow_persistent«1»PHP_INI_SYSTEM 
pgsql.max_persistent«-1»PHP_INI_SYSTEM 
pgsql.max_links«-1»PHP_INI_SYSTEM 
pgsql.auto_reset_persistent«0»PHP_INI_SYSTEM 
pgsql.ignore_notice«0»PHP_INI_ALL 
pgsql.log_notice«0»PHP_INI_ALL 
phar.readonly«1»PHP_INI_ALL 
phar.require_hash«1»PHP_INI_ALL 
phar.cache_list«»PHP_INI_SYSTEM 
post_max_size«8M»PHP_INI_PERDIR 
precision«14»PHP_INI_ALL 
realpath_cache_size«16K»PHP_INI_SYSTEM 
realpath_cache_ttl«120»PHP_INI_SYSTEM 
register_argc_argv«1»PHP_INI_PERDIR 
report_memleaks«1»PHP_INI_ALL 
report_zend_debug«1»PHP_INI_ALL 
request_order«»PHP_INI_PERDIR 
runkit.superglobal«»PHP_INI_PERDIR 
runkit.internal_override«0»PHP_INI_SYSTEM 
sendmail_fromNULLPHP_INI_ALL 
sendmail_path«/usr/sbin/sendmail -t -i»PHP_INI_SYSTEM 
serialize_precision«-1»PHP_INI_ALL Prior to PHP 7.1.0, the default value was 17.
session.save_path«»PHP_INI_ALL 
session.name«PHPSESSID»PHP_INI_ALL 
session.save_handler«files»PHP_INI_ALL 
session.auto_start«0»PHP_INI_PERDIR 
session.gc_probability«1»PHP_INI_ALL 
session.gc_divisor«100»PHP_INI_ALL 
session.gc_maxlifetime«1440»PHP_INI_ALL 
session.serialize_handler«php»PHP_INI_ALL 
session.cookie_lifetime«0»PHP_INI_ALL 
session.cookie_path«/»PHP_INI_ALL 
session.cookie_domain«»PHP_INI_ALL 
session.cookie_secure«0»PHP_INI_ALLPrior to PHP 7.2.0, the default was "".
session.cookie_httponly«0»PHP_INI_ALLPrior to PHP 7.2.0, the default was "".
session.cookie_samesite«»PHP_INI_ALLAvailable as of PHP 7.3.0.
session.use_strict_mode«0»PHP_INI_ALL 
session.use_cookies«1»PHP_INI_ALL 
session.use_only_cookies«1»PHP_INI_ALL 
session.referer_check«»PHP_INI_ALL 
session.cache_limiter«nocache»PHP_INI_ALL 
session.cache_expire«180»PHP_INI_ALL 
session.use_trans_sid«0»PHP_INI_ALL 
session.trans_sid_tags«a=href,area=href,frame=src,form=»PHP_INI_ALLAvailable as of PHP 7.1.0.
session.trans_sid_hosts$_SERVER['HTTP_HOST']PHP_INI_ALLAvailable as of PHP 7.1.0.
session.sid_length«32»PHP_INI_ALLAvailable as of PHP 7.1.0.
session.sid_bits_per_character«4»PHP_INI_ALLAvailable as of PHP 7.1.0.
session.upload_progress.enabled«1»PHP_INI_PERDIR 
session.upload_progress.cleanup«1»PHP_INI_PERDIR 
session.upload_progress.prefix«upload_progress_»PHP_INI_PERDIR 
session.upload_progress.name«PHP_SESSION_UPLOAD_PROGRESS»PHP_INI_PERDIR 
session.upload_progress.freq«1%»PHP_INI_PERDIR 
session.upload_progress.min_freq«1»PHP_INI_PERDIR 
session.lazy_write«1»PHP_INI_ALL 
session.hash_function«0»PHP_INI_ALLRemoved as of PHP 7.1.0.
session.hash_bits_per_character«4»PHP_INI_ALLRemoved as of PHP 7.1.0.
session.entropy_file«»PHP_INI_ALLRemoved as of PHP 7.1.0.
session.entropy_length«0»PHP_INI_ALLRemoved as of PHP 7.1.0
short_open_tag«1»PHP_INI_PERDIR 
SMTP«localhost»PHP_INI_ALL 
smtp_port«25»PHP_INI_ALL 
soap.wsdl_cache_enabled1PHP_INI_ALL
soap.wsdl_cache_dir/tmpPHP_INI_ALL
soap.wsdl_cache_ttl86400PHP_INI_ALL
soap.wsdl_cache1PHP_INI_ALL
soap.wsdl_cache_limit5PHP_INI_ALL
sql.safe_mode«0»PHP_INI_SYSTEM 
sqlite3.extension_dir«»PHP_INI_SYSTEM 
sqlite3.defensive1PHP_INI_SYSTEMAvailable as of PHP 7.2.17 and 7.3.4 for libsqlite ≥ 3.26.0.
syslog.facility«LOG_USER»PHP_INI_SYSTEMAvailable as of PHP 7.3.0.
syslog.filter«no-ctrl»PHP_INI_ALLAvailable as of PHP 7.3.0.
syslog.ident«php»PHP_INI_SYSTEMAvailable as of PHP 7.3.0.
sys_temp_dir«»PHP_INI_SYSTEM 
sysvshm.init_mem10000PHP_INI_SYSTEM 
tidy.default_config«»PHP_INI_SYSTEM 
tidy.clean_output«0»PHP_INI_USER 
track_errors«0»PHP_INI_ALLDeprecated as of PHP 7.2.0, removed as of PHP 8.0.0
unserialize_callback_funcNULLPHP_INI_ALL 
uploadprogress.file.filename_template«/tmp/upt_%s.txt»PHP_INI_ALL 
upload_max_filesize«2M»PHP_INI_PERDIR 
max_file_uploads20PHP_INI_SYSTEM 
upload_tmp_dirNULLPHP_INI_SYSTEM 
url_rewriter.tags«a=href,area=href,frame=src,form=,fieldset=»PHP_INI_ALL 
user_agentNULLPHP_INI_ALL 
user_dirNULLPHP_INI_SYSTEM 
user_ini.cache_ttl«300»PHP_INI_SYSTEM 
user_ini.filename«.user.ini»PHP_INI_SYSTEM 
uopz.disable«0»PHP_INI_SYSTEMAvailable as of uopz 5.0.2
uopz.exit«0»PHP_INI_SYSTEMAvailable as of uopz 6.0.1
uopz.overloads«1»PHP_INI_SYSTEMAvailable as of uopz 2.0.2. Removed as of uopz 5.0.0.
variables_order«EGPCS»PHP_INI_PERDIR 
vld.active«0»PHP_INI_SYSTEM 
vld.execute«1»PHP_INI_SYSTEMAvailable since vld 0.8.0.
vld.skip_append«0»PHP_INI_SYSTEMAvailable since vld 0.8.0.
vld.skip_prepend«0»PHP_INI_SYSTEMAvailable since vld 0.8.0.
windows.show_crt_warning«0»PHP_INI_ALL 
xbithack«0»PHP_INI_ALL 
xmlrpc_errors«0»PHP_INI_SYSTEM 
xmlrpc_error_number«0»PHP_INI_ALL 
yaz.keepalive«120»PHP_INI_ALL 
yaz.log_maskNULLPHP_INI_ALLAvailable since yaz 1.0.3.
zend.assertions«1»PHP_INI_ALL 
zend.detect_unicode«1»PHP_INI_ALL 
zend.enable_gc«1»PHP_INI_ALL 
zend.multibyte«0»PHP_INI_PERDIR 
zend.script_encodingNULLPHP_INI_ALL 
zend.signal_check«0»PHP_INI_SYSTEM 
zend_extensionNULLphp.ini only 
zlib.output_compression«0»PHP_INI_ALL 
zlib.output_compression_level«-1»PHP_INI_ALL 
zlib.output_handler«»PHP_INI_ALL 

Php: установка — manual

Windows 2000 Server and IIS (SP4 and all patches):

After many frustrating hours of trying to figure out the install (again), It took a while, but here are a couple tips:

PHP working with IIS uses c:winntphp.ini

It doesn’t matter what you set the path to, nor what you set the PHPRC environment variable to. After you get PHP running correctly in the installation folder (using php -i) copy the php.ini file into the c:winnt folder.

Here’s what worked for me:

— Add PHP path to System environment variable

— Add php5activescript.dll from http://snaps.shhost.ru/ to the PHP folder, then Register it: «regsvr32 php5activescript.dll»

Set extension_dir and doc_root directives in PHP.INI:
extension_dir = C:WWWPHPext
doc_root = C:WWWSite
cgi.force_redirect = 0

(the last cgi.force_redirect isn’t required, but I like to set it anyway)

Copy the .INI file into WINNT folder

In IIS Manager, right-click «Default Web Site», Click «Home Directory»,
Click «Configuration», «Add» the ISAPI application:
Executable: <your php install>php5isapi.dll
Extension: .php
Limit to: GET,HEAD,POST
Check: «Script Engine»
Uncheck: «Check that file exists»

Finally: Set up an ISAPI filter:
Click the «ISAPI Filters» tab,
Filter Name: PHP
Executable: <your php install>php5isapi.dll

Notes: You don’t have to set any of your folders as «Script source» folders. .PHP files aren’t scripts, merely text files that require processing before being shipped off to the browser, which is what the ISAPI filter does.

Finally, working again.

Chase

Why is my php.ini not found?

I config/make/make install php on a system where php is already installed:

 ./configure --prefix=/opt/php
 --with-config-file-path=/opt/php/etc --with-config-file-scan-dir=/opt/php/etc/php.d
 --enable-fpm --with-fpm-user=ec2-user --with-fpm-group=ec2-user --disable-debug 
 --enable-exif --with-curl --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-
 pdo-mysql=mysqlnd --with-zlib --enable-zip --enable-bcmath --enable-calendar 
 --enable-ftp --with-mhash --with-openssl --with-mcrypt --enable-mbstring --enable-
 mbregex --with-gd --with-jpeg-dir --with-png-dir

(all ok) however, when I type php —ini (inside /opt/php/bin) I get the old stuff:

> Configuration File (php.ini) Path:
> /etc Loaded Configuration File:       
> /etc/php.ini Scan for additional .ini
> files in: /etc/php.d Additional .ini
> files parsed:      /etc/php.d/apc.ini,
> /etc/php.d/curl.ini,
> /etc/php.d/fileinfo.ini,
> /etc/php.d/json.ini,
> /etc/php.d/mbstring.ini,
> /etc/php.d/phar.ini,

why / how can i fix this?

my bashrc:

if [ -d «/opt/php/bin»] && [ -d
«/opt/php/sbin» ]; then
PATH=»$path:/opt/php/bin:/opt/php/bin»

my php-config looks ok:

Usage: ./php-config [OPTION]
Options:
  --prefix            [/opt/php]
  --includes          [-I/opt/php/include/php -I/opt/php/include/php/main -I/opt/php/include/php/TSRM -I/opt/php/include/php/Zend -I/opt/php/include/php/ext -I/opt/php/include/php/ext/date/lib]
  --ldflags           []
  --libs              [-lcrypt   -lz -lcrypt -lrt -lmcrypt -lltdl -lpng -lz -ljpeg -lcurl -lz -lrt -lm -ldl -lnsl  -lrt -lxml2 -lz -lm -lssl -lcrypto -ldl -lz -lcurl -lxml2 -lz -lm -lssl -lcrypto -ldl -lz -lxml2 -lz -lm -lcrypt -lxml2 -lz -lm -lxml2 -lz -lm -lxml2 -lz -lm -lcrypt ]
  --extension-dir     [/opt/php/lib/php/extensions/no-debug-non-zts-20090626]
  --include-dir       [/opt/php/include/php]
  --php-binary        [/opt/php/bin/php]
  --php-sapis         [cli fpm]
  --configure-options [--prefix=/opt/php --with-config-file-path=/opt/php/etc --with-config-file-scan-dir=/opt/php/etc/php.d --enable-fpm --with-fpm-user=ec2-user --with-fpm-group=ec2-user --disable-debug --enable-exif --with-curl --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-zlib --enable-zip --enable-bcmath --enable-calendar --enable-ftp --with-mhash --with-openssl --with-mcrypt --enable-mbstring --enable-mbregex --with-gd --with-jpeg-dir --with-png-dir]
  --version           [5.3.5]
  --vernum            [50305]

but… myphp.ini does not, it seems my —with-config-file-path=PATH (Sets the path in which to look for php.ini, defaults to PREFIX/lib.) somehow is not working?

Где находится php.ini?

В этом разделе мы увидим, как найти файл php.ini, который загружается при запуске сценария PHP. Это может быть непросто — расположение файла php.ini сильно зависит от среды, в которой вы используете PHP. Если вы работаете в Windows, вы, скорее всего, найдете файл php.ini в каталоге вашей установки PHP на системном диске.

Здесь на phpinfo() приходит функция phpinfo() . Он скажет вам, где находится php.ini , а также выведет всю важную информацию о конфигурации PHP.

Вы можете запустить phpinfo() , создав файл .php и вызвав эту функцию.Создайте файл phpinfo.php со следующим содержимым и поместите его в корневой каталог документа:

Загрузите этот файл в свой браузер, и вы должны увидеть вывод phpinfo() . Посмотрите на следующий раздел.

Как видите, есть два раздела. Первый, путь к файлу конфигурации (php.ini) , указывает путь по умолчанию для файла php.ini в вашей системе. И второй, Loaded Configuration File , — это путь, из которого загружается файл php.ini при запуске PHP.

Таким образом, вы можете редактировать файл php.ini, указанный в разделе « Загруженный файл конфигурации », и это должно работать в большинстве случаев. Конечно, если вы используете PHP как модуль Apache, вам необходимо перезапустить сервер Apache, чтобы убедиться, что изменения, внесенные вами в файл php.ini , отражены.

С другой стороны, если вы используете программное обеспечение, такое как WAMP или XAMPP, для запуска стека веб-разработки, вам еще проще изменить файл php.ini — вы можете напрямую получить к нему доступ через пользовательский интерфейс WAMP или XAMPP.

В следующем разделе мы рассмотрим несколько важных настроек в файле php.ini .

Как изменить значение опций, имеющих статус изменяемости php_ini_perdir или php_ini_all

Вы можете изменить некоторые директивы PHP непосредственно в личном кабинете. Для этого перейдите в раздел «Услуги», выберите виртуальную площадку и нажмите на Вашем сайте, для которого нужно изменить настройки PHP. На странице с параметрами размещенного сайта найдите строку Конфигурация PHP и нажмите изменить, как показано на рисунке:

На открывшейся странице Вам будет доступен интерфейс управления некоторыми настройками PHP-интерпретатора:

Если нужной директивы со статусом изменяемости PHP_INI_PERDIR или PHP_INI_ALL нет в списке, Вы можете изменить ее с помощью управляющего файла .htaccess

В следующем примере мы изменим значение директивы mail.log, которая в качестве параметра принимает путь до файла, в который будут записываться все вызовы функции mail() при отправке писем скриптами сайта. Для этого воспользуемся файлом .htaccess, в который нужно добавить всего одну строчку.

php_value mail.log "/home/u12345/phpmail.log"

Теперь все вызовы функции mail() скриптами этого сайта будут записываться в файл phpmail.log в корне площадки u12345. Аналогичным образом можно менять и другие директивы, если их статус изменяемости соответствует PHP_INI_PERDIR или PHP_INI_ALL.

Напомним значение и расшифровку констант PHP_INI_*:

Список, описание и статус изменяемости директив можно найти в приложении G документации PHP.

Как настроить php.ini под свои потребности?

Настройка важных и второстепенных параметров может быть весьма долгим процессом. Если у вас есть выделенный веб сервер, и вы хотите тонко настроить его работу, то рекомендуем обратиться к одному из онлайн руководств по параметрам в PHP.ini для продвинутых пользователей. Сам процесс задания параметров сводится к изменению числовых или текстовых значений для одной из строк-директив.

Вот некоторые из настроек, которые можно изменить, если владелец хостинга разрешает использовать php.ini и редактировать его самостоятельно:

post_max_size

upload_max_filesize

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

max_execution_time

max_input_time

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

memory_limit = 16M

Эта важная директива задает максимальное выделение памяти под один отдельный скрипт. Не завышайте это значение, если не знаете, для чего это может понадобиться. Скрипты PHP достаточно легковесны с точки зрения обычного пользователя.

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

Собственный php.ini на хостинге с панелью управления cpanel | заметки лёвика

Как создать собственную конфигурацию php.ini на хостинге с панелью управления Cpanel

Конфигурационные переменные php можно изменять следующими способами:

Можно воспользоваться функцией php ini_set(varname, newvalue) — устанавливает для переменной varname значение newvalue на время выполнения скрипта. Однако, не для всех переменных можно задать значение этой функцией. Некоторые переменные нельзя изменять как непосредственно в скрипте, так и в .htaccess.

К тому же, довольно часто в целях безопасности хостер запрещает использование php_value и php_flag в .htaccess-файлах. Однако, как быть, если требуется изменить конфигурацию php?

Конфигурируем CPanel для использования собственного php.ini

Следует отметить, что такая возможность предоставляется не всеми хостерами — можно уточнить у техподдержки хостинга, либо.. проверить методом тыка. :)

В файле .htaccess корневого каталога public_html, добавляем строчки (заменяя user на имя пользователя в cpanel):

suPHP_ConfigPath /home/user/public_html
<Files php.ini>
order allow,deny
deny from all
</Files>

Создаем файл php.ini этого же каталога (public_html) в который помещаем информацию о конфигурационных переменных php:

register_globals = Off
max_execution_time = 1000
post_max_size = 5M
memory_limit = 10M
upload_max_filesize = 10M

Также в собственном php.ini файле можно указать требуемую для ZEND-optimizer информацию

Метки: cpanel, хостинг

Вы можете добавить комментарий, или trackback со своего сайта.

Вывод ошибок в php

Иногда возникает необходимость получить информацию о том, какие ошибки возникают при выполнении PHP-скриптов. При использовании PHP как модуля Apache (по умолчанию именно так) вывод ошибок доступен в личном кабинете в меню Услуги, выбрав виртуальную площадку, где размещен сайт, затем Домен в списке сайтов, далее в параметрах Журнал регистрации ошибок: > error_log.

Иногда имеет смысл включить вывод ошибок PHP-скриптов на экран. Возможно 2 случая:

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

php_flag display_errors on
php_value error_reporting 2047

Число 2047 является значением константы E_ALL и включает вывод всех типов ошибок. Значение константы E_ALL зависит от версии PHP. Точное значение можно узнать на сайте разработчика.

Если Вы используете PHP-интерпретатор как CGI, то для вывода ошибок следует в файле настроек для PHP, изменить значение параметра

display_errors = Off
display_errors = On

Кроме этого, надо изменить значение параметра error_reporting со значения E_ALL & E_NOTICE на простое E_ALL (по желанию).

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

Оцените статью
Хостинги