第 1 步(共 2 步)——PHP 设置

第 1 步(共 2 步)——PHP 设置

我的 phpinfo.php 没有显示用于存放其他 PHP 配置文件的额外文件夹。我在 CentOS v6.3 32 位上运行 Apache v2.4.4(带 PHP DSO)和 PHP v5.4.14。Apache 和 PHP 安装都是从源代码编译的。

我没有使用--with-config-file-scan-dir=PATHPHP 的配置选项。(并且不会使用,因为我需要多个文件夹)。

环境变量PHPRC和 Apache 指令PHPIniDir与主 PHP 文件相关,因此我只能PHP_INI_SCAN_DIR使用环境变量。以下是我执行的步骤:

第 1 步(共 2 步)——PHP 设置

PHP_INI_SCAN_DIR作为操作系统环境变量,需要在 Apache 启动前设置。因此,我在文件中添加了以下条目/etc/profile.d/php.sh

PHP_INI_SCAN_DIR="/usr/local/lib/php/custom"
导出 PHP_INI_SCAN_DIR

然后重新启动系统。

现在命令env | grep PHPphp -i | grep INIphp --ini给我以下输出。

=># env | grep PHP

PHP_INI_SCAN_DIR=/usr/local/lib/php/custom

=># php -i | grep INI

PHP_INI_SCAN_DIR => /usr/local/lib/php/custom
_SERVER["PHP_INI_SCAN_DIR"] => /usr/local/lib/php/custom

=># php --ini

配置文件(php.ini)路径:/usr/local/lib
加载的配置文件:/usr/local/lib/php.ini
扫描 /usr/local/lib/php/custom 中的其他 .ini 文件
解析的其他 .ini 文件: (无)

步骤 2(共 2 步)——Apache 设置

第一次尝试

===================

在 apache2/bin/envvars 和 apache2/bin/envvars-std 文件中添加了以下条目。

关于 envvars 和 envvars-std 文件之间的区别,您有什么看法?

PHP_INI_SCAN_DIR="/usr/local/lib/php/custom"
导出 PHP_INI_SCAN_DIR

重新启动了 Apache 服务。但from 的
Scan this dir for additional .ini filesphp信息.php文件显示为空。

第二次尝试

===================

因此,我从 envvars 和 envvars-std 中删除了条目。我有模块mod_env默认加载。我在httpd配置文件

SetEnv PHP_INI_SCAN_DIR “/usr/local/lib/php/custom”

已重新启动 Apache 服务。来自的
Scan this dir for additional .ini filesphp信息.php文件仍然显示为空。

第三次尝试

===================

再次,我删除了httpd配置文件VirtualHost。在我的目录部分添加了相同的行httpd-vhosts.conf

SetEnv PHP_INI_SCAN_DIR “/usr/local/lib/php/custom”

已重新启动 Apache 服务。来自的
Scan this dir for additional .ini filesphp信息.php文件仍然显示为空。

回答您的一些想法:

  • 是的,我的php信息.php文件仅由 组成phpinfo()。它不是静态文件。

  • 是的,浏览器缓存已清理。我也尝试了其他浏览器。

最后

那么,谁能告诉我为什么我的 phpinfo 文件没有显示附加 PHP 配置文件的额外文件夹?

答案1

您必须在设置该环境变量的情况下启动 apache。设置该变量仅为/etc/profile.d/php.shPHP 可执行文件本身设置,mod_php5 不会使用它。

我刚刚经历了这个繁琐的过程。使用 SetEnv 设置变量也不起作用,因为它是在 mod_php5 加载后定义的。

在 CentOS 6.5 中,我发现编辑/etc/sysconfig/httpd允许您为 apache 进程本身设置和导出其他环境变量。因此尝试在那里添加它:

export PHP_INI_SCAN_DIR="/usr/local/lib/php/custom"

相关内容