Настройка опций в файле php ini timeweb
Файл конфигурации ( php.ini ) считывается при запуске PHP. Для версий серверных модулей PHP это происходит только один раз при запуске веб-сервера. Для CGI и CLI версий это происходит при каждом вызове.
- По месту расположения модуля SAPI ( PHPIniDir директива Apache 2, -c параметр командной строки CGI и CLI)
- Переменная среды PHPRC .
- Местоположение файла php.ini может быть указано для различных версий PHP. Корневой ключ реестра зависит от разрядности операционной системы и установки PHP. Для 32-разрядного PHP на 32-разрядной Windows или 64-разрядного PHP и 64-разрядной Windows используйте [(HKEY_LOCAL_MACHINE\SOFTWARE\PHP] . Для 32-разрядного PHP на 64-разрядной Windows [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\PHP] . Следующие ключи реестра исследуются при поиске для установок с совпадающей разрядностью: [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y.z] , [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y] и [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x] , где x, y и z подразумевают major, minor и release версии PHP. Для 32-разрядного PHP на 64-разрядной Windows ключи реестра будут другими: [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6421Node\PHP\x.y.z] , [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6421Node\PHP\x.y] и [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6421Node\PHP\x] . Если также имеется значение IniFilePath в любом из этих ключей, то местонахождение php.ini будет определено первым ключом по порядку (только для Windows).
- [HKEY_LOCAL_MACHINE\SOFTWARE\PHP] или [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\PHP] , значение IniFilePath (только для Windows).
- Текущая директория (исключая CLI).
- Директория веб-сервера (для модулей SAPI) или директория PHP (иначе в Windows).
- В директории Windows ( C:\windows или C:\winnt ) (для Windows) или --with-config-file-path с выбором при компиляции.
Если файл php-SAPI.ini существует (где SAPI - это тип интерфейса, который используется, например, php-cli.ini или php-apache.ini ), то он используется вместо php.ini . Тип интерфейса между веб-сервером и PHP может быть определён с помощью функции php_sapi_name() .
Замечание:
Веб-сервер Apache изменяет текущую директорию на корневую при запуске, в результате чего PHP считывает php.ini из корневой файловой системы, если файл существует.
В php.ini можно использовать переменные окружения, как показано ниже.
Директивы php.ini , обрабатываемые модулями, описаны на соответствующих страницах модулей. Список директив ядра имеется в приложении. Не все директивы PHP документированы в этом руководстве: для ознакомления с полным списком директив доступных в вашей версии PHP, прочитайте комментарии вашего php.ini . Кроме того, вы можете найти полезной » последнюю версию php.ini из Git.
Возможно обращаться к существующим ini-переменным из ini-файлов. Пример: open_basedir = $ ":/new/dir" .
Настройка опций в файле .htaccess
Директивы необходимо добавлять в самый конец или в самое начало файла, вне блоков кода
Как поменять устаревшую версию php 5.3 на новую на хостинге Timeweb
Это будет небольшая заметка для пользователей шаблоном AB-Inspiraiton
Если у вас блог на хостинге TimeWeb и вы уже давно открыли там аккаунт, то скорее всего у вас установлена устаревшая версию php 5.3. Ее нужно обязательно заменить на одну из новых 5.4, 5.5, или 5.6
Сделать это не сложно. Хостинг подгружает новые версии php но сам их не активирует. Это должны сделать вы, как владелец аккаунта.
Чем грозит использование устаревшей версии php:
1. При обновлении шаблона вы увидите ошибку 500, вместо блога.
2. Блог не будет работать со старой версий php
3. некоторые плагины тоже требуют php от 5.4 и выше.
Перед обновлением шаблона проверьте версию php на своем хостинге. Она должна быть от 5.4 или выше.
Как поменять версию php в Timeweb (в старой панеле управления)
1. Зайдите на хостинг под своим логином и паролем, перейдите в раздел "Управление сайтами"
2. Напротив домена нажмите на иконку "Шестеренки"
3. Во всплывшем окне выберите из списка версию php
4. Нажать на кнопку "Применить"
Как поменять версию php в Timeweb (в новой панеле управления)
1. Зайдите на хостинг под своим логином и паролем, перейдите в в раздел "Сайты"
2. Напротив домена нажмите на иконку "Шестеренки"
3. Во всплывшем окне выберите из списка версию php
4. Сохраните настройки
Работа с тех поддержкой хостинга:
1. Если вы не можете поменять php на хостинге, напишите в тех поддержку хостинга следующее письмо (в письме укажите адрес вашего сайта):
Тема письма: Как заменить php на версию 5.4
2. Если вы поменяли версию php, но проблема осталась (скорее всего это сбой на хостинге). Напишите в тех поддержку хостинга следующее письмо (в письме укажите адрес вашего сайта):
Тема письма: Не меняется версия php!
Добавление по поводу хостинга Timeweb:
Было уже 2 случая, когда на хостинге Timeweb поменяли php, но по факту все еще оставалось версия 5.3. Из-за этого блог также выдавал ошибку 500. В итоге мне пришлось самой позвонить в Timeweb, чтобы выяснить причину подобной ошибки.
В общем ситуация такая. На некоторых серверах Timeweb по умолчанию прописывается в файле .htaccess версия php 5.3. Это правило в файле .htaccess важнее настройки на сервере. Оно как бы перезаписывает правила сервера. Поэтому даже поменяв php на другую версию, все равно использовалась 5.3.
1. Зайдите на хостинг в файловый менеджер в корневую папку блога (public_html)
2. Откройте файл .htaccess для редактирования
3. Удалите 2 строчки
Action php5.3-script /cgi-bin/php5.3.cgi
AddType php5.3-script .php
4. Сохраните файл
5. После этого зайдите в админку блога в раздел "Настройки шаблона" и сохраните настройки
Вот и всё. Если Вы ничего не поняли, Но создать блог вы всё равно хотите.
Нет проблем! За небольшую денежную сумму, вы получите свой новенький отдельно-стоящий блог в лучшем виде !
mbstring.func_overload и mbstring.internal_encoding
Для корректной работы сайтов на старых версиях CMS Битрикс (до v20.100.0) требуются следующие параметры:
post_max_size
Опция устанавливает максимально допустимый размер данных, отправляемых методом POST. Также это значение также влияет на загрузку файлов — для загрузки больших файлов оно должно быть больше значения директивы upload_max_filesize.
magic_quotes_gpc
Волшебные кавычки (Magic Quotes) — это процесс автоматического экранирования входящих данных PHP-скрипта. Если опция включена, то одинарные (') и двойные (") кавычки и обратный слэш (\)экранируются обратным слэшем автоматически.
Включение и выключение magic_quotes осуществляется директивами:
Как сделать composer update на хостинге TimeWeb?
Как сделать composer update на хостинге TimeWeb?
Добрый день сорумчане
Возникла проблем, как на хостинге TimeWeb обновить композер?
Проблема в том, что сам сервис timeweb работает на php 5.3, код моего сайта на php 7.1. И если сразу писать "composer update", то естественно будет ошибка в индексесе и выдаёт ошибку.
Использую команду "/opt/php71/bin/php composer update" выдаёт ошибку "Could not open input file: composer". Хотя консольные команды работают с этой дополнительной фразой:"/opt/php71/bin/php ". php71 — это говорит о том, на какой версии php запускать скрипт.
И вот теперь не знаю как быть. Может кто нибудь сталкивался с такой проблемой?
Просмотр параметров php
Для того, чтобы просмотреть значения параметров php, установленных для конкретного сайта, создайте в его директории файл info.php со следующим содержимым:
В статье описана настройка параметров PHP на сервере с операционными системами Ubuntu или Debian.
Настройка параметров производится в конфигурационном файле php.ini.
В зависимости от того, как используется PHP на сервере, эти файлы обычно размещаются по следующим путям:
Определить точное расположение файла php.ini можно с помощью скрипта phpinfo.php.
Создание phpinfo-скрипта
Подключитесь к серверу по SSH и выполните следующие действия:
1. Перейдите в директорию сайта:
2. Создайте файл phpinfo.php:
3. Добавьте в него следующее содержимое:
4. Сохраните изменения (нажать Ctrl+x для выхода из nano, далее Y для сохранения изменений и Enter).
Путь к конфигурационному файлу php.ini можно найти в строке Loaded Configuration File:
Настройка параметров
Рассмотрим настройку параметров на примере mbstring.func_overload.
1. Найдите нужный параметр в php.ini при помощи команды:
Ключ -n покажет, в какой строке расположена директива, чтобы можно было перейти сразу к ней.
В данном случае номер строки — 1714.
2. Откройте файл в текстовом редакторе, указав номер нужной строки:
3. Отредактируйте строку: уберите знак комментария (;) и измените значение параметра на нужное вам:
В данном случае мы указываем 2.
4. Сохраните изменения (нажмите Ctrl+x для выхода из nano, далее Y для сохранения изменений и Enter).
По умолчанию на новых серверах PHP работает в режиме mod_php, но при желании вы можете подключить режим mod_cgi, воспользовавшись нашей инструкцией.
opcache.revalidate_freq
Отключение OpCache (настройка требуется для CMS Битрикс):
Сканирование директорий
Существует возможность сконфигурировать PHP для сканирования директорий в поисках .ini-файлов после считывания php.ini . Это можно сделать на моменте компиляции, указав опцию --with-config-file-scan-dir. Сканирование директорий может быть переопределено во время исполнения установкой переменной среды PHP_INI_SCAN_DIR .
Можно сканировать несколько директорий, разделяя их разделителем, используемом в вашей операционной системе ( ; в Windows, NetWare и RISC OS; : на всех остальных платформах; в PHP есть константа PATH_SEPARATOR , которую можно использовать) Если PHP_INI_SCAN_DIR пуста, то PHP также будет сканировать директорию, заданную на этапе компиляции с помощью --with-config-file-scan-dir.
В каждой директории PHP сканирует все файлы заканчивающиеся на .ini в алфавитном порядке. Список всех загруженных файлов в том порядке, в котором они были загружены, доступен с помощью функции php_ini_scanned_files() , либо при запуске PHP с опцией --ini.
Ниже мы рассмотрим настройку параметров PHP на сервере с операционной системой Centos или Bitrix.
max_input_vars
Директива указывает, сколько входных переменных может быть принято в одном запросе. Например:
Опции, которые не могут быть изменены
К настройкам PHP, изменение которых невозможно в рамках виртуального хостинга, относятся:
default_charset
upload_max_filesize
Устанавливает максимальный размер закачиваемого файла.
pcre.recursion_limit
Устанавливает лимит на рекурсию.
Настройка опций в файле php.ini
allow_url_fopen
Включение опции (для отключения значение = 0):
apc.cache_by_default
APC — акселератор PHP, использование которого увеличивает производительность интерпретатора за счет кэширования. В отдельных случаях, однако, может потребоваться его отключение — например, если скрипты не выполняются корректно из-за переполнения кэша.
Отключение 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
Максимальный размер данных, отправляемых методом POST. Это значение также влияет на загрузку файлов — для загрузки больших файлов оно должно быть больше значения директивы upload_max_filesize.
register_globals
Отключение Register Globals (для включения значение = 1):
request_order
Регулирует порядок, в котором PHP добавляет переменные GET, POST и Cookie в массив _REQUEST.
upload_max_filesize
Устанавливает максимальный размер закачиваемого файла.
log_errors
Опция позволяет включить логирование ошибок php с их записью в произвольный файл (в примере errors.log). При указании пути к файлу замените u и user на первую букву вашего логина и сам логин.
display_errors
Директива указывает, требуется ли выводить ошибки на экран вместе с остальным выводом, либо ошибки должны быть скрыты от пользователя.
Включение и выключение осуществляются следующим образом:
mail.add_x_header
Опция позволяет включить логирование отправки почты из скриптов сайта. Логи будут содержать полный путь до скрипта, адрес получателя и заголовки. При указании пути к файлу, в который будут записываться логи (mail.log), замените u и user на первую букву вашего логина и сам логин.
Yii Framework
Настройка параметров
Рассмотрим настройку на примере параметра mbstring.func_overload.
1. Найдите нужный параметр в php.ini при помощи команды:
Ключ -n покажет, в какой строке расположена директива, чтобы можно было перейти сразу к ней.
В данном случае номер строки — 1704.
2. Откройте файл в текстовом редакторе, указав номер нужной строки :
3. Отредактируйте строку: уберите знак комментария (;) и измените значение на нужное вам:
В данном случае мы указываем 2:
4. Сохраните изменения: нажмите Ctrl+x для выхода из nano, далее Y для сохранения изменений и Enter.
register_globals
Директивы для включения/выключения глобальных переменных:
Создание phpinfo-скрипта
В процессе настройки потребуется получать информацию о параметрах PHP на сервере, поэтому в первую очередь необходимо разместить скрипт phpinfo.php в директории сайта.
Подключитесь к серверу по SSH и выполните следующие действия:
1. Перейдите в директорию сайта:
2. Создайте файл phpinfo.php:
3. Добавьте в него следующее содержимое:
4. Сохраните изменения (нажать Ctrl+x для выхода из nano, далее Y для сохранения изменений и Enter).
Путь к конфигурационному файлу php.ini можно найти в строке Loaded Configuration File:
В нашем случае это /etc/php.ini (стандартное размещение для CentOS).
Как поменять устаревшую версию php 5.3 на новую на хостинге Timeweb
Сделать это не сложно. Хостинг подгружает новые версии php но сам их не активирует. Это должны сделать вы, как владелец аккаунта.
Чем грозит использование устаревшей версии php:
1. При обновлении шаблона вы увидите ошибку 500, вместо блога.
2. Блог не будет работать со старой версий php
3. некоторые плагины тоже требуют php от 5.4 и выше.
Перед обновлением шаблона проверьте версию php на своем хостинге. Она должна быть от 5.4 или выше.
Как поменять версию php в Timeweb (в старой панеле управления)
Как поменять версию php в Timeweb (в новой панеле управления)
Работа с тех поддержкой хостинга:
1. Если вы не можете поменять php на хостинге, напишите в тех поддержку хостинга следующее письмо (в письме укажите адрес вашего сайта):
Тема письма: Как заменить php на версию 5.4
Добрый день,
На сайте мне нужно обновить шаблон WordPress. Разработчик шаблона рекомендует установить версию php 5.4 или выше.
Как поменять версию php на хостинге?
Заранее спасибо за помощь.
С уважением,
2. Если вы поменяли версию php, но проблема осталась (скорее всего это сбой на хостинге). Напишите в тех поддержку хостинга следующее письмо (в письме укажите адрес вашего сайта):
Тема письма: Не меняется версия php!
Добавление по поводу хостинга Timeweb:
Было уже 2 случая, когда на хостинге Timeweb поменяли php, но по факту все еще оставалось версия 5.3. Из-за этого блог также выдавал ошибку 500. В итоге мне пришлось самой позвонить в Timeweb, чтобы выяснить причину подобной ошибки.
В общем ситуация такая. На некоторых серверах Timeweb по умолчанию прописывается в файле .htaccess версия php 5.3. Это правило в файле .htaccess важнее настройки на сервере. Оно как бы перезаписывает правила сервера. Поэтому даже поменяв php на другую версию, все равно использовалась 5.3.
1. Зайдите на хостинг в файловый менеджер в корневую папку блога (public_html)
2. Откройте файл .htaccess для редактирования
3. Удалите 2 строчки
Action php5.3-script /cgi-bin/php5.3.cgi
AddType php5.3-script .php
4. Сохраните файл
Сканирование директорий
Существует возможность сконфигурировать PHP для сканирования директорий в поисках .ini-файлов после считывания php.ini . Это можно сделать на моменте компиляции, указав опцию --with-config-file-scan-dir. Сканирование директорий может быть переопределено во время исполнения установкой переменной среды PHP_INI_SCAN_DIR .
Можно сканировать несколько директорий, разделяя их разделителем, используемом в вашей операционной системе ( ; в Windows, NetWare и RISC OS; : на всех остальных платформах; в PHP есть константа PATH_SEPARATOR , которую можно использовать) Если PHP_INI_SCAN_DIR пуста, то PHP также будет сканировать директорию, заданную на этапе компиляции с помощью --with-config-file-scan-dir.
В каждой директории PHP сканирует все файлы заканчивающиеся на .ini в алфавитном порядке. Список всех загруженных файлов в том порядке, в котором они были загружены, доступен с помощью функции php_ini_scanned_files() , либо при запуске PHP с опцией --ini.
Ниже мы рассмотрим настройку параметров PHP на сервере с операционной системой Centos или Bitrix.
apc.cache_by_default
APC — акселератор PHP, использование которого увеличивает производительность интерпретатора за счет кэширования. В отдельных случаях, однако, может потребоваться его отключение — например, если скрипты не выполняются корректно из-за переполнения кэша.
Управление APC осуществляется директивами:
request_order
Директива регулирует порядок, в котором PHP добавляет переменные GET, POST и Cookie в массив _REQUEST.
Читайте также: