溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

lnmp php重啟沒有加載正確php.ini文件

發(fā)布時(shí)間:2020-07-10 14:01:01 來源:網(wǎng)絡(luò) 閱讀:2471 作者:yawei555 欄目:web開發(fā)

參考內(nèi)容:http://www.cnblogs.com/argb/p/3604340.html


早上修改了php的配置文件,php-fpm.conf,重啟nginx,php-fpm后發(fā)現(xiàn)網(wǎng)站啟動不來了。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"

通過好長時(shí)間的分析,是php.ini里面的zend配置沒有生效,因此有可能是php.ini文件沒有被加載。

首先檢查PHP的編譯參數(shù)

[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參數(shù)是后面重新編譯添加的參數(shù),也就是說,PHP經(jīng)歷過兩次編譯.

查看php的php.ini文件默認(rèn)路徑:

[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

由此可以看出,此時(shí)php默認(rèn)加載的php.ini文件存在路徑是:/usr/local/lib/php.ini

而我的正確的php.ini文件存在路徑為:/usr/local/php/etc/php.ini

經(jīng)檢查,/usr/local/lib/php.ini的確沒有配置zend擴(kuò)展,因此網(wǎng)站無法啟動.

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

將php.ini文件覆蓋過去,重啟php-fpm,網(wǎng)站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兩個(gè)文件,php-fpm.conf是 php-fpm進(jìn)程服務(wù)的配置文件

php.ini是php運(yùn)行核心配置文件,也是php擴(kuò)展的配置文件,比如

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

在php.ini里面將擴(kuò)展內(nèi)容配置才能生效.

因此本案件中,zend擴(kuò)展沒有生效,就可以查找php.ini文件是否生效.




向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI