lnmp php重启没有加载正确php.ini文件
admin
2023-06-25 22:22:44
0

参考内容:http://www.cnblogs.com/argb/p/3604340.html


早上修改了php的配置文件,php-fpm.conf,重启nginx,php-fpm后发现网站启动不来了。nginx错误日志为:

2015/09/18 10:11:30 [error] 15081#0: *1073 FastCGI sent in stderr: "PHP message: PHP Warning:  require_once(Zend/Application.php): failed to open stream: No such file or directory in /web/www.XXX.com/wwwroot/public/index.php on line 18
PHP message: PHP Fatal error:  require_once(): Failed opening required 'Zend/Application.php' (include_path='/web/www.XXX.com/wwwroot/library:.:/usr/local/lib/php') in /web/www.XXX.com/wwwroot/public/index.php on line 18" while reading response header from upstream, client: xxx.19.116.133, server: www.XXX.com, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/usr/local/php/var/run/www.XXX.com.socket:", host: "www.XXX.com"

通过好长时间的分析,是php.ini里面的zend配置没有生效,因此有可能是php.ini文件没有被加载。

首先检查PHP的编译参数

[huwei@xxx ~]$ /usr/local/php/bin/php -i|grep configure
Configure Command =>  './configure'  '--prefix=/usr/local/php' '--with-config-file-path=/usr/local/php/etc' '--with-mysql=/usr/local/mysql' '--with-mysqli=/usr/local/mysql/bin/mysql_config' '--with-mysql-sock=/tmp/mysql.sock' '--with-pdo-mysql=/usr/local/mysql' '--with-gd' '--enable-libxml' '--enable-xml' '--enable-bcmath' '--enable-shmop' '--enable-sysvsem' '--enable-inline-optimization' '--with-curlwrappers' '--enable-mbregex' '--enable-fpm' '--enable-mbstring' '--enable-ftp' '--enable-gd-native-ttf' '--with-openssl' '--enable-pcntl' '--enable-sockets' '--with-xmlrpc' '--enable-zip' '--enable-soap' '--without-pear' '--with-gettext' '--enable-session' '--with-mcrypt' '--with-curl' '--enable-ctype' '--with-freetype-dir'

--with-freetype-dir参数是后面重新编译添加的参数,也就是说,PHP经历过两次编译.

查看php的php.ini文件默认路径:

[huwei@xxx ~]$ /usr/local/php/bin/php -i|grep php.ini
Configuration File (php.ini) Path => /usr/local/php/etc
Loaded Configuration File => /usr/local/lib/php.ini

由此可以看出,此时php默认加载的php.ini文件存在路径是:/usr/local/lib/php.ini

而我的正确的php.ini文件存在路径为:/usr/local/php/etc/php.ini

经检查,/usr/local/lib/php.ini的确没有配置zend扩展,因此网站无法启动.

cp /usr/local/php/etc/php.ini /usr/local/lib/php.ini

将php.ini文件覆盖过去,重启php-fpm,网站OK

或者使用命令直接加载php.ini文件

[root@test31 etc]# /usr/local/php/sbin/php-fpm -c /usr/local/php/etc/php.ini

解决问题



思考:php文件:php-fpm.conf php.ini两个文件,php-fpm.conf是 php-fpm进程服务的配置文件

php.ini是php运行核心配置文件,也是php扩展的配置文件,比如

extension=memcache.so
extension=yaf.so
extension=redis.so

在php.ini里面将扩展内容配置才能生效.

因此本案件中,zend扩展没有生效,就可以查找php.ini文件是否生效.




相关内容

热门资讯

伊朗撂下3句狠话 网络上的P图,看看挺有意思的世间万千博弈,最耗心神的,从来不是立场分歧,而是态度的反复无常。这也是现...
普京:亚美尼亚若入欧盟,得先算... 新华社阿斯塔纳/莫斯科5月29日电(记者张继业 许炜凯) 俄罗斯总统普京29日表示,亚美尼亚在欧盟和...
伊朗军方在格什姆岛附近击落敌对... 总台记者当地时间5月29日晚自伊朗方面获悉,伊朗陆军防空部队在监测到敌方小型无人机后,在格什姆岛附近...
联合国安理会延长对南苏丹武器禁... △当地时间5月29日,安理会成员国在就南苏丹制裁授权延期决议草案进行表决。当地时间5月29日,联合国...
字节Seed AI4S或考虑分... 来源:市场资讯 (来源:三言科技) 5月29日,据Z Finance,字节Seed旗下AI4S团队正...
刷新在轨驻留最长纪录!神二十一... 自2025年11月1日进驻空间站以来,神舟二十一号乘组在轨驻留了约7个月,刷新中国航天员乘组在轨驻留...
广东荔枝迎采收季,无人机单机日... 5月底,岭南荔枝进入采收与上市关键期。南都湾财社记者获悉,以大疆为代表的农业无人机正大规模替代传统人...
伊媒:特朗普关于伊美协议的说法... 新华社德黑兰5月29日电 伊朗法尔斯通讯社29日以一名伊方知情人士为消息源,反驳美国总统特朗普关于美...
电视为什么一直闪屏 由于电源电压不稳定或电源供电不足的缘故、电视分辨率的故障、电视存在周围有电磁干扰的缘故、电视的刷新频...
专访塞尔维亚总统武契奇 塞尔维亚总统武契奇首次对中国进行国事访问,接受《高端访谈》专访。他说,这是他政治生涯中最重要的一次访...