Redhat 上是否有与 Debian 的 cli/php.ini 等效的程序?

Redhat 上是否有与 Debian 的 cli/php.ini 等效的程序?

如何配置 PHP 的命令行版本以在 Redhat 系统上具有不同的设置?

在基于 Debian 的系统上,php 有一个单独的命令行版本配置文件:/etc/php5/cli

在 Redhat 上,即使安装了 php-cli 包,也有/etc/php.ini各种附加的 ini 文件,/etc/php.d/但没有单独的命令行版本配置文件。

答案1

您有两个选择:

  1. 使用-c参数指示 ini 文件位置
  2. 创建php-cli.ini文件/etc/

在此处输入图片描述

来自官方 PHP 手册

PHP 启动时会读取配置文件 (php.ini)。对于 PHP 的服务器模块版本,此操作仅在 Web 服务器启动时发生一次。对于 CGI 和 CLI 版本,此操作在每次调用时发生。

在这些位置搜索 php.ini(按顺序):

  • SAPI 模块特定位置(Apache 2 中的 PHPIniDir 指令,CGI 和 CLI 中的 -c 命令行选项、NSAPI中的php_ini参数、THTTPD中的PHP_INI_PATH环境变量)
  • PHPRC 环境变量。在 PHP 5.2.0 之前,这是在下面提到的注册表项之后检查的。
  • 从 PHP 5.2.0 开始,可以为不同版本的 PHP 设置 php.ini 文件的位置。将按顺序检查以下注册表项:[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 除外)。
  • Web 服务器的目录(用于 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。可以使用 php_sapi_name() 确定 SAPI 名称。

相关内容