在Redhat上是否有相当于Debian的cli / php.ini?

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

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

在Redhat上,/ /etc/php.ini/etc/php.ini有各种额外的ini文件,但是命令行版本没有单独的configuration文件,即使安装了php-cli软件包。

你有两个select:

  1. 使用-c参数来指示ini文件的位置
  2. /etc/创build一个php-cli.ini文件

在这里输入图像说明

从官方的PHP手册 :

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

在这些位置searchphp.ini(按顺序):

  • SAPI模块的具体位置(Apache 2中的PHPIniDir指令, CGI和CLI中的-c命令行选项 ,NSAPI中的php_ini参数,THTTPD中的PHP_INI_PATH环境variables)
  • PHPRC环境variables。 在PHP 5.2.0之前,这是在下面提到的registry项之后检查的。
  • 从PHP 5.2.0开始,可以为不同版本的PHP设置php.ini文件的位置。 按顺序检查以下registry项:[HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP \ xyz],[HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP \ xy]和[HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP \ x],其中x,y和z表示PHP主要,次要版本和发行版本。 如果在这些键中有IniFilePath的值,find的第一个将被用作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。 SAPI名称可以用php_sapi_name()来确定。