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,如需轉載請自行聯絡原作者
相關文章
- 正確映象檔案配置
- 檔案路徑是否正確
- Idea啟動Tomcat無法載入專案,Tomcat沒有對映到IdeaTomcat
- php.ini 檔案在哪裡?PHP
- 沒有政治正確,遊戲世界會更好嗎?遊戲
- Windows 的桌面圖示沒有顯示正確Windows
- Linux 查詢檔案的正確方式Linux
- ubuntn 重啟 PHP-fpm 修改 php.iniPHP
- win10刪除檔案沒有確認提示怎麼辦Win10
- 天啦,微信開發者工具預設竟然沒有開啟檔案儲存格式化功能,正確的開啟姿勢請看這裡
- 用 PHP 讀取檔案的正確方法PHP
- php.ini 檔案存放位置不對?PHP
- PHP配置檔案詳解php.iniPHP
- array_multisort 第二個陣列沒有正確排序陣列排序
- PHP:檔案載入PHP
- 載入常量-從檔案中載入
- SpringBoot啟動如何載入application.yml配置檔案Spring BootAPP
- Android Studio 專案匯入的正確姿勢Android
- etc/sudoers沒有這個檔案
- win10 因為你沒有訪問該檔案所在位置的正確許可權怎麼解決Win10
- 讀取ClassPath下resource檔案的正確姿勢
- Goland 開啟一個專案的正確姿勢GoLand
- 答讀者疑問:為什麼我的 manifest.json 檔案無法正確被載入試讀版JSON
- properties檔案載入器
- giflib載入GIF檔案
- WKWebView載入本地檔案WebView
- MyBatis載入配置檔案MyBatis
- laravel 載入公共檔案Laravel
- Springboot載入配置檔案Spring Boot
- JavaScript 檔案載入方式JavaScript
- 如何將檔案放在正確位置?2020年的檔案傳輸解決方案
- 被誤刪的檔案正確處理方法,快速找回誤刪的檔案
- win10刪除沒有確定鍵怎麼辦_win10刪除檔案沒有提示該怎麼辦Win10
- 預載入系列一:DNS Prefetching 的正確使用姿勢DNS
- Springboot 打jar包分離lib,配置檔案正確方式Spring BootJAR
- QT TS檔案翻譯,部分不能正確被翻譯QT
- win10 windows找不到檔案 null 請確定檔名是否正確怎麼解決Win10WindowsNull
- OnlineJudge的正確開啟方式
- WikiPedia 的正確開啟方式