F21*_*F21 6 php.ini php-fpm upstart
我看到一个奇怪的问题,php.ini如果我php-fpm在启动它时没有明确地将它传递给它,则不会使用它。
这是我正在使用的新贵脚本:
start on (filesystem and net-device-up IFACE=lo)
stop on runlevel [016]
pre-start script
mkdir -p /run/php
end script
expect fork
respawn
exec /usr/local/php/sbin/php-fpm --fpm-config /etc/php/php-fpm.conf
Run Code Online (Sandbox Code Playgroud)
如果 PHP 以上述开头,php.ini则永远不会使用my ,即使它在Configuration File (php.ini) Path.
这是来自phpinfo()以下内容的相关部分:
Configuration File (php.ini) Path /etc/php/
Loaded Configuration File (none)
Scan this dir for additional .ini files (none)
Additional .ini files parsed (none)
Run Code Online (Sandbox Code Playgroud)
如果我修改 upstart 脚本的最后一行php-fpm以 php.ini明确指向:
exec /usr/local/php/sbin/php-fpm --fpm-config /etc/php/php-fpm.conf -c /etc/php/php.ini
Run Code Online (Sandbox Code Playgroud)
然后我们看到php.ini加载了:
Configuration File (php.ini) Path /etc/php/
Loaded Configuration File /etc/php/php.ini
Scan this dir for additional .ini files (none)
Additional .ini files parsed (none)
Run Code Online (Sandbox Code Playgroud)
为什么会这样?这是 php-fpm 的怪癖吗?
次要更新:这对于使用 .php 安装的 php5-fpm 似乎也是一个问题apt-get。
我通过运行以下命令在 Ubuntu Server 12.04 虚拟机中进行了测试安装:
sudo apt-get install nginx php5-fpm
Run Code Online (Sandbox Code Playgroud)
安装后启动PHP-FPM和nginx,一切正常。然后我在 nginx 的配置中取消了 php 设置的注释,并放置了一个测试phpinfo()文件来检查 PHP 的设置。
相关位是:
Configuration File (php.ini) Path /etc/php5/fpm
Loaded Configuration File (none)
Scan this dir for additional .ini files /etc/php5/fpm/conf.d
Additional .ini files parsed /etc/php5/fpm/conf.d/10-pdo.ini
Run Code Online (Sandbox Code Playgroud)
我注意到也没有php.ini加载。但是,如果我转到/etc/php5/fpm,我可以看到 aphp.ini存在。我还检查了 PHP-FPM 的启动脚本,并且-c没有使用该参数将 ini 文件链接到 PHP。这可能会让那些希望 PHP-FPM 自动加载 php.ini 的人感到困惑。
不,我们在启动时并不明确需要传递该php.ini文件。php-fpm
让我们首先处理php5-fpm使用安装的apt-get。一旦我重新启动服务器,它就php.ini被加载了。这很奇怪,但很有效。
回到我的问题。
请注意,我使用--with-config-file-path=/etc/php/. 该问题是由于在使用时向文件夹添加尾部斜杠引起的--with-config-file-path。
就我而言,我跑去make clean清理旧的编译二进制文件。然后我运行configure --with-config-file-path=/etc/php(请注意,该文件夹没有结尾斜杠)。然后make和make install。
完成此操作后,您会发现无论我们是否使用开关将其传递给 php-fpm,php.iniin都会自动加载。/etc/php-c
| 归档时间: |
|
| 查看次数: |
12899 次 |
| 最近记录: |