php default charset php ini
Настройка параметров PHP
По умолчанию на новых серверах PHP работает в режиме mod_php, но при желании вы можете подключить режим mod_cgi, воспользовавшись нашей инструкцией.
apc.cache_by_default
Управление APC осуществляется директивами:
default_charset
Директива указывает кодировку по умолчанию (например, cp1251, utf-8, koi8-r) для всех выдаваемых страниц.
display_errors
Директива указывает, требуется ли выводить ошибки на экран вместе с остальным выводом, либо ошибки должны быть скрыты от пользователя.
Включение и выключение осуществляются следующим образом:
log_errors
Опция позволяет включить логирование ошибок php с их записью в произвольный файл (в примере errors.log). При указании пути к файлу замените u и user на первую букву вашего логина и сам логин.
magic_quotes_gpc
Включение и выключение magic_quotes осуществляется директивами:
mail.add_x_header
Опция позволяет включить логирование отправки почты из скриптов сайта. Логи будут содержать полный путь до скрипта, адрес получателя и заголовки. При указании пути к файлу, в который будут записываться логи (mail.log), замените u и user на первую букву вашего логина и сам логин.
max_input_vars
Директива указывает, сколько входных переменных может быть принято в одном запросе. Например:
mbstring.func_overload и mbstring.internal_encoding
Для корректной работы сайтов на старых версиях CMS Битрикс (до v20.100.0) требуются следующие параметры:
opcache.revalidate_freq
Отключение OpCache (настройка требуется для CMS Битрикс):
pcre.recursion_limit
Устанавливает лимит на рекурсию.
post_max_size
register_globals
Директивы для включения/выключения глобальных переменных:
request_order
Директива регулирует порядок, в котором PHP добавляет переменные GET, POST и Cookie в массив _REQUEST.
upload_max_filesize
Устанавливает максимальный размер закачиваемого файла.
Настройка опций в файле php.ini
allow_url_fopen
Опция включает поддержку оберток URL (URL wrappers), которые позволяют работать с объектами URL по протоколам ftp или http как с обычными файлами.
Включение опции (для отключения значение = 0):
apc.cache_by_default
Отключение APC (для включения значение = 1):
default_charset
Указание кодировки по умолчанию:
display_errors
Включение вывода ошибок (для выключения значение = off).
magic_quotes_gpc
Отключение Magic Quotes (для включения значение = 1):
mail.add_x_header
Включение логирования отправки почты из скриптов сайта. В директиве mail.log указывается путь к файлу, в который будут сохраняться логи (замените u и user на первую букву вашего логина и сам логин).
max_input_vars
Изменение количества вводимых переменных:
mbstring.func_overload и mbstring.internal_encoding
Настройки для старых версий CMS Битрикс:
opcache.revalidate_freq
Отключение OpCache (настройка для CMS Битрикс):
pcre.recursion_limit
post_max_size
register_globals
Отключение Register Globals (для включения значение = 1):
request_order
Регулирует порядок, в котором PHP добавляет переменные GET, POST и Cookie в массив _REQUEST.
upload_max_filesize
Устанавливает максимальный размер закачиваемого файла.
Опции, которые не могут быть изменены
К настройкам PHP, изменение которых невозможно в рамках виртуального хостинга, относятся:
Php default charset php ini
Представленные здесь значения по умолчанию используются в случае, если не был подключён php.ini ; значения для боевого php.ini и для разработки могут различаться.
Языковые опции
Имя | По умолчанию | Место изменения | Список изменений |
---|---|---|---|
short_open_tag | «1» | PHP_INI_PERDIR | |
precision | «14» | PHP_INI_ALL | |
serialize_precision | «-1» | PHP_INI_ALL | До версии PHP 7.1.0 значение по умолчанию было равно 17. |
disable_functions | «» | Только PHP_INI_SYSTEM | |
disable_classes | «» | Только php.ini | |
exit_on_timeout | «» | PHP_INI_ALL | |
expose_php | «1» | Только php.ini | |
hard_timeout | «2» | PHP_INI_SYSTEM | Доступна с версии PHP 7.1.0. |
zend.exception_ignore_args | «0» | PHP_INI_ALL | Доступна с версии PHP 7.4.0 |
zend.multibyte | «0» | PHP_INI_ALL | |
zend.script_encoding | NULL | PHP_INI_ALL | |
zend.detect_unicode | NULL | PHP_INI_ALL | |
zend.signal_check | «0» | PHP_INI_SYSTEM | |
zend.assertions | «1» | PHP_INI_ALL с ограничениями |
Краткое разъяснение конфигурационных директив.
Выдаёт факт присутствия PHP на сервере, включая передачу версии PHP в HTTP-заголовке (например, X-Powered-By: PHP/5.3.7).
Эта директива позволяет отключить некоторые функции. Она принимает список имён функций, разделённый запятыми.
Только внутренние функции могут быть отключены с помощью этой директивы. Пользовательские функции ей не подвержены.
Если процесс стартован в режиме релиза, zend.assertions не может быть изменён во время выполнения, так как код утверждений не генерируется.
Когда истечёт время ожидания, установленное в max_execution_time, среда выполнения PHP аккуратно отключит ресурсы. Если во время этого что-то застрянет, время ожидания будет установлено на указанное количество секунд. Когда истечёт жёсткое время ожидания, PHP завершит работу с ошибкой. Если установлено значение 0, жёсткое время ожидания никогда не активируется.
Когда PHP останавливается после жёсткого времени ожидания, это будет выглядеть примерно так:
Исключает аргументы из трассировки стека, сгенерированных из исключений.
Разрешает парсинг исходных файлов в многобайтных кодировках. Включение zend.multibyte требуется для использования кодировок символов подобных SJIS, BIG5 и т.д., содержащих специальные символы в многобайтных строковых данных. Совместимые с ISO-8859-1 кодировки, например UTF-8, EUC и т.д., не требуют эту опцию.
Модуль zend.multibyte требует установленного модуля «mbstring».
Данное значение будет использовано, только при отсутствии директивы declare(encoding=. ) в начале скрипта. При использовании кодировок несовместимых с ISO-8859-1, нужно использовать опции и zend.multibyte и zend.script_encoding.
Определяет, нужно ли проверять заменённые обработчики сигналов при завершении скрипта.
Эта директива только для Apache1 mod_php, которая заставляет потомка Apache завершиться, если произошёл тайм-аут исполнения скрипта PHP. Такой тайм-аут приводит к внутреннему вызову longjmp() в Apache1, который оставляет некоторые модули в несогласованном состоянии. По завершении процесса все неснятые блокировки или память будут очищены.
Ограничения ресурсов
Имя | По умолчанию | Место изменения | Список изменений |
---|---|---|---|
memory_limit | «128M» | PHP_INI_ALL |
Краткое разъяснение конфигурационных директив.
Настройка производительности
Имя | По умолчанию | Место изменения | Список изменений |
---|---|---|---|
realpath_cache_size | «4M» | PHP_INI_SYSTEM | До PHP 7.0.16 и 7.1.2, по умолчанию было «16K» |
realpath_cache_ttl | «120» | PHP_INI_SYSTEM |
Использование open_basedir отключит кеш realpath.
Краткое разъяснение конфигурационных директив.
Определяет размера кеша realpath, используемого в PHP. Это значение должно быть увеличено на системах, в которых PHP открывает большое количество файлов соответственно количеству выполняемых файловых операций.
Размер равный общему числу байт, хранящимся в строках путей, плюс размер данных связанных с кешируемым элементом. Это значит, что для хранения длинных путей в кеше, размер этого кеша должен быть больше. Это значение не определяет напрямую количество разных путей, которые могут быть закешированы.
Размер, необходимый для кеширования, зависит от системы.
Время (в секундах) в течение которого будет использован кеш realpath для указанного файла или директории. Для систем с редко меняющимися файлами это значение можно увеличить.
Обработка данных
Имя | По умолчанию | Место изменения | Список изменений |
---|---|---|---|
arg_separator.output | «&» | PHP_INI_ALL | |
arg_separator.input | «&» | PHP_INI_PERDIR | |
variables_order | «EGPCS» | PHP_INI_PERDIR | |
request_order | «» | PHP_INI_PERDIR | |
auto_globals_jit | «1» | PHP_INI_PERDIR | |
register_argc_argv | «1» | PHP_INI_PERDIR | |
enable_post_data_reading | «1» | PHP_INI_PERDIR | |
post_max_size | «8M» | PHP_INI_PERDIR | |
auto_prepend_file | NULL | PHP_INI_PERDIR | |
auto_append_file | NULL | PHP_INI_PERDIR | |
default_mimetype | «text/html» | PHP_INI_ALL | |
default_charset | «UTF-8» | PHP_INI_ALL | |
input_encoding | «» | PHP_INI_ALL | |
output_encoding | «» | PHP_INI_ALL | |
internal_encoding | «» | PHP_INI_ALL |
Краткое разъяснение конфигурационных директив.
Этот разделитель используется в генерируемых PHP URL в качестве разделителя аргументов.
Список разделителей, используемых PHP для получения переменных из URL.
Каждый символ в этой директиве считается разделителем!
Эта директива регулирует порядок, в котором PHP добавляет переменные GET, POST и Cookie в массив _REQUEST. Добавление производится слева направо, новые значения перезаписывают старые.
Когда включено, переменные SERVER, REQUEST и ENV создаются в тот момент, когда они впервые используются (Just In Time), а не в начале выполнения скрипта. Если эти переменные в скрипте не используются, включение этой директивы приведёт к росту производительности.
Использование переменных SERVER, REQUEST и ENV проверяется на стадии компиляции, поэтому их использование с помощью, например, переменных переменных не запустит их инициализацию.
default_charset в php.ini
hussar
In code we trust!
default_charset в php.ini
Народ подскажите плз, как в этом параметре (default_charset) прописывать виндовую кодировку. Если koi8-r так скорее всего и пишется, то как прописывать win-1251 или cp1251, и как юникод? И вообще можно ли это делать?
RomikChef
Guest
Новичок
>И вообще можно ли это делать?
Для php-gtk можно делать.
Guest
; As of 4.0b4, PHP always outputs a character encoding by default in
; the Content-type: header. To disable sending of the charset, simply
; set it to be empty.
;
; PHP’s built-in default is text/html
default_mimetype = «text/html»
default_charset = «windows-1251»
2: hussar
А зачем оно тебе вообще надо? Это только лишь определяет кодировку по умолчанию, если ты сам не сделал этого при помощи META или соотв. хэдера. Т.ч. чем мучать php.ini, выдай любыми подручными средствами php (да хоть echo) META HTTP-EQUIV=»Content-Type» CONTENT=»text/html; charset=windows-1251″ или, для юникода, charset=utf-8.
Apache Manager
Guest
AddDefaultCharset windows-1251 тока в той папке де у тя скрипты лежат =)
hussar
In code we trust!
Если кто-то сталкивался с подобной проблемой, буду очень благодарен за совет
Установлен устаревший параметр PHP mbstring.internal_encoding и его значение конфликтует
Обновили модуль обновления, появилось сообщение
Цитата |
---|
Установлен устаревший параметр PHP mbstring.internal_encoding и его значение конфликтует со значением параметра default_charset. Пожалуйста, исправьте значения указанных параметров или обратитесь в службу технической поддержки вашего хостинга.. |
Ответ от техподдержки: Параметры mbstring.internal_encoding, default_charset в конфигурации PHP и кодировка сайта должны быть одинаковыми
Сайт на windows-1251
Подскажите, пожалуйста, как поправить? в каких файла?
P.S. После правок в /etc перезагружай http
Может что-то еще забыл?
Цитата |
---|
Вячеслав Любовин написал: Параметры mbstring.internal_encoding, default_charset в конфигурации PHP и кодировка сайта должны быть одинаковыми |
интересно а как быть в ситуации когда на серваке есть сайты и utf 8 и 1251 кодировки
default_charset для всех один ведь и получается сайты надо переводить с 1251 на utf-8
Доброго всем дня. Давайте по порядку)
Вячеслав Любовин, ваш сайт на windows-1251 кодировке когда был создан на какой версии машины? (важно, потому что были доработки, не факт что у вас они есть, потому уточняю).
Вообще менять тут как минимум неверно) Это общие параметры всей машины. По умолчанию там должно быть:
Если посмотрите конфиг файлы httpd для UTF-8 сайтов, то там этих строк не будет. Эти опции будут браться из файла /etc/php.d/bitrixenv.ini.
Кроме того чтобы система обновлений проекта работала после обновления для проекта в кодировке windows-1251 нужно для этого проекта в файле /bitrix/php_interface/dbconn.php добавить строку:
Это подправим в следующей бете 7.4.12.
Цитата |
---|
Александр Панишев написал: интересно а как быть в ситуации когда на серваке есть сайты и utf 8 и 1251 |
кодировки default_charset для всех один ведь и получается сайты надо переводить с 1251 на utf-8
Алексей Шафранский, Устанавливал на свежую 7.4.3
После загрузки машины, был удален дефолтный сайт, и создан на windows 1251, потом бэкап был перенес с хостинга
Далее всеми правдами и не правдами пытался избавиться от ошибок которые возникали при проверке битрикса
Были скорректированы файлы:
Я всё написал по этому поводу выше.
Нет, у меня проблем ни с чем нет.
1. У меня и сейчас сайт прекрасно работает без default_charset cp1251. Просто приходится совершать кучу лишних телодвижений при обновлении (всё это написано мной выше)
Установлен устаревший параметр PHP mbstring.internal_encoding и его значение конфликтует
Обновили модуль обновления, появилось сообщение
Цитата |
---|
Установлен устаревший параметр PHP mbstring.internal_encoding и его значение конфликтует со значением параметра default_charset. Пожалуйста, исправьте значения указанных параметров или обратитесь в службу технической поддержки вашего хостинга.. |
Ответ от техподдержки: Параметры mbstring.internal_encoding, default_charset в конфигурации PHP и кодировка сайта должны быть одинаковыми
Сайт на windows-1251
Подскажите, пожалуйста, как поправить? в каких файла?
P.S. После правок в /etc перезагружай http
Может что-то еще забыл?
Цитата |
---|
Вячеслав Любовин написал: Параметры mbstring.internal_encoding, default_charset в конфигурации PHP и кодировка сайта должны быть одинаковыми |
интересно а как быть в ситуации когда на серваке есть сайты и utf 8 и 1251 кодировки
default_charset для всех один ведь и получается сайты надо переводить с 1251 на utf-8
Доброго всем дня. Давайте по порядку)
Вячеслав Любовин, ваш сайт на windows-1251 кодировке когда был создан на какой версии машины? (важно, потому что были доработки, не факт что у вас они есть, потому уточняю).
Вообще менять тут как минимум неверно) Это общие параметры всей машины. По умолчанию там должно быть:
Если посмотрите конфиг файлы httpd для UTF-8 сайтов, то там этих строк не будет. Эти опции будут браться из файла /etc/php.d/bitrixenv.ini.
Кроме того чтобы система обновлений проекта работала после обновления для проекта в кодировке windows-1251 нужно для этого проекта в файле /bitrix/php_interface/dbconn.php добавить строку:
Это подправим в следующей бете 7.4.12.
Цитата |
---|
Александр Панишев написал: интересно а как быть в ситуации когда на серваке есть сайты и utf 8 и 1251 |
кодировки default_charset для всех один ведь и получается сайты надо переводить с 1251 на utf-8
Алексей Шафранский, Устанавливал на свежую 7.4.3
После загрузки машины, был удален дефолтный сайт, и создан на windows 1251, потом бэкап был перенес с хостинга
Далее всеми правдами и не правдами пытался избавиться от ошибок которые возникали при проверке битрикса