我遇到了 php 和 php-fpm 找不到 php.ini 的问题。我从源代码安装了 5.6.13。问题
非常相似,但是那里的解决方案对我没有帮助。
config.nice 如下
#! /bin/sh
#
# Created by configure
'./configure' \
'--prefix=/usr/local' \
'--localstatedir=/var' \
'--sysconfdir=/etc/php-fpm' \
'--with-config-file-path=/etc/php-fpm' \
'--enable-fpm' \
'--with-mysql=mysqlnd' \
'--with-mysqli=mysqlnd' \
'--enable-cli' \
'--with-zlib' \
'--with-openssl' \
'--with-libdir=lib64' \
'--with-gd' \
'--enable-session' \
'--enable-soap' \
'--with-freetype-dir' \
'--enable-gd-native-ttf' \
'--with-ldap' \
'--with-pdo-mysql=mysqlnd' \
'--enable-zip' \
'--with-mcrypt=/usr/local' \
'--enable-mbstring' \
'--with-curl' \
'--enable-intl' \
'--with-xsl' \
'--with-tidy' \
'--enable-pcntl' \
"$@"
我在另外两台使用相同版本 PHP 的服务器上使用了此 config.nice。所有服务器都是 RHAT 5.11。所有服务器都配有 nginx。
如果我跑
echo "<?php phpinfo() ?>" | strace php-fpm 2>&1 | grep php.ini
我得到:
open("/usr/local/sbin/php.ini", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/php.ini", O_RDONLY) = -1 ENOENT (No such file or directory)
如果我跑
php -i | grep php.ini
我得到:
Configuration File (php.ini) Path => /etc/php-fpm
Loaded Configuration File => (none)
如果我运行:
php --ini
我得到:
Configuration File (php.ini) Path: /usr/local/lib
Loaded Configuration File: (none)
Scan for additional .ini files in: (none)
Additional .ini files parsed: (none)
创建符号链接将允许 PHP 在 /etc/php-fpm 中找到 php.ini,并且我也可以使用 -c,但这并不能解释为什么它默认不选择它并且与我的其他服务器的行为不一致。
有人经历过类似的事情吗?
答案1
我尝试在不使用 make clean 或 make clean all 的情况下进行新安装,但没有成功。
我最终运行了 make clean 和 make clean all 并重新进行了整个安装,就这样!