Назад | Перейти на главную страницу

Есть ли в Redhat аналог Debian cli / php.ini?

Как вы сконфигурируете версию PHP для командной строки, чтобы иметь разные настройки в системе Redhat?

В системах на основе Debian php имеет отдельный файл конфигурации версии командной строки: /etc/php5/cli.

На Redhat есть /etc/php.ini и различные дополнительные ini файлы в /etc/php.d/ но нет отдельного файла конфигурации для версии командной строки, даже если пакет php-cli установлен.

У вас есть два варианта:

  1. Использовать -c аргумент для указания местоположения ini файла
  2. Создать php-cli.ini файл на /etc/

Из официальное руководство по PHP:

Файл конфигурации (php.ini) читается при запуске PHP. Для версий PHP серверных модулей это происходит только один раз при запуске веб-сервера. Для версий CGI и CLI это происходит при каждом вызове.

php.ini ищется в следующих местах (по порядку):

  • Местоположение конкретного модуля SAPI (директива PHPIniDir в Apache 2, -c параметр командной строки в CGI и CLI, параметр php_ini в NSAPI, переменная среды PHP_INI_PATH в THTTPD)
  • Переменная среды PHPRC. До PHP 5.2.0 это проверялось после ключа реестра, указанного ниже.
  • Начиная с PHP 5.2.0, расположение файла php.ini может быть установлено для разных версий PHP. Следующие ключи реестра проверяются по порядку: [HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP \ xyz], [HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP \ xy] и [HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP \ x], где x, y и z означают основные PHP, минорные и релизные версии. Если в любом из этих ключей есть значение для IniFilePath, первый найденный будет использоваться в качестве местоположения php.ini (только для Windows).
  • [HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP], значение IniFilePath (только для Windows).
  • Текущий рабочий каталог (кроме CLI).
  • Каталог веб-сервера (для модулей SAPI) или каталог PHP (иначе в Windows).
  • Каталог Windows (C: \ windows или C: \ winnt) (для Windows) или --with-config-file-path параметр времени компиляции.

Если существует php-SAPI.ini (где SAPI - это используемый SAPI, поэтому например, php-cli.ini или php-apache.ini), он используется вместо php.ini. Имя SAPI можно определить с помощью php_sapi_name ().