lnmpphp重啟沒有載入正確php.ini檔案
早上修改了php的配置檔案,php-fpm.conf,重啟nginx,php-fpm後發現網站啟動不來了。nginx錯誤日誌為:
1
2
|
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的編譯引數
1
2
|
[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檔案預設路徑:
1
2
3
|
[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檔案
1
|
[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擴充套件的配置檔案,比如
1
2
3
|
extension=memcache.so extension=yaf.so extension=redis.so |
在php.ini裡面將擴充套件內容配置才能生效.
因此本案件中,zend擴充套件沒有生效,就可以查詢php.ini檔案是否生效.
本文轉自 yawei555 51CTO部落格,原文連結:http://blog.51cto.com/huwei555/1696041,如需轉載請自行聯絡原作者
相關文章
- 正確映象檔案配置
- 沒有政治正確,遊戲世界會更好嗎?遊戲
- 檔案路徑是否正確
- 沒有目錄建目錄,沒有檔案建檔案
- 天啦,微信開發者工具預設竟然沒有開啟檔案儲存格式化功能,正確的開啟姿勢請看這裡
- ubuntn 重啟 PHP-fpm 修改 php.iniPHP
- php.ini 檔案在哪裡?PHP
- win10刪除檔案沒有確認提示怎麼辦Win10
- array_multisort 第二個陣列沒有正確排序陣列排序
- Idea啟動Tomcat無法載入專案,Tomcat沒有對映到IdeaTomcat
- 如何正確刪除ORACLE歸檔日誌檔案Oracle
- 用 PHP 讀取檔案的正確方法PHP
- Linux 查詢檔案的正確方式Linux
- 未能正確載入“visual C++ package”包C++Package
- spring boot啟動載入外部配置檔案Spring Boot
- AIX啟動自動載入檔案系統AI
- php.ini 檔案存放位置不對?PHP
- PHP配置檔案詳解php.iniPHP
- asm例項有沒有控制檔案嗎?ASM
- PHP:檔案載入PHP
- ubuntu中沒有/etc/inittab檔案Ubuntu
- etc/sudoers沒有這個檔案
- win10 因為你沒有訪問該檔案所在位置的正確許可權怎麼解決Win10
- 載入常量-從檔案中載入
- Goland 開啟一個專案的正確姿勢GoLand
- WikiPedia 的正確開啟方式
- 讀取ClassPath下resource檔案的正確姿勢
- 關於PHP.ini檔案的設定PHP
- win10刪除沒有確定鍵怎麼辦_win10刪除檔案沒有提示該怎麼辦Win10
- 正確理解 PHP 的過載PHP
- 使用正確的工具(轉載)
- 【原】VS2008錯誤:“未能正確載入包,使用 devenv /resetskippkgs 重新啟用包載入”的解決...dev
- 沒有字典檔案下,logminer使用。
- MyBatis載入配置檔案MyBatis
- JavaScript 檔案載入方式JavaScript
- properties檔案載入器
- laravel 載入公共檔案Laravel
- WKWebView載入本地檔案WebView