1. 程式人生 > >原始碼編譯LNMP出現的問題及解決方法

原始碼編譯LNMP出現的問題及解決方法

整理了一些有關原始碼編譯LNMP出現的問題及解決方法,僅供參考。

1. 7編譯php出錯 :make: *** [ext/dom/node.lo] 錯誤 1

問題:

原始碼編譯LNMP出現的問題及解決方法

解決辦法:需要打補丁

curl -o php-5.4.5.patch https://mail.gnome.org/archives/xml/2012-August/txtbgxGXAvz4N.txt
cd php-5.4.5
patch -p0 -b < ./php-5.4.5.patch

原始碼編譯LNMP出現的問題及解決方法
原始碼編譯LNMP出現的問題及解決方法
注意如果沒有patch命令執行

yum install -y patch
然後再重新configure配置,重新make。

2.PHP-FPM啟動失敗

問題1:
Failed loading /usr/local/php5/lib/php/ZendGuardLoader.so: /usr/local/php5/lib/php/ZendGuardLoader.so: wrong ELF class: ELFCLASS32
原始碼編譯LNMP出現的問題及解決方法
原因:
php-fpm模組所呼叫的ZendGuardLoader.so模組為32位的模組,但是當前系統是64位系統,所以啟動失敗
可以用file命令檢視當前的ZendGuardLoader.so的檔案資訊
原始碼編譯LNMP出現的問題及解決方法
解決辦法:
下載一個對應PHP版本的64位ZendGuardLoader.so檔案

下載Zend Guard,替換之前32位的ZendGuardLoader.so模組

32位 http://downloads.zend.com/guard/5.5.0/ZendGuardLoader-php-5.3-linux-glibc23-i386.tar.gz

64位 http://downloads.zend.com/guard/5.5.0/ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz

wget http://downloads.zend.com/guard/5.5.0/ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz
tar zxvf ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz
cp ZendGuardLoader-php-5.3-linux-glibc23-x86_64/php-5.3.x/ZendGuardLoader.so /usr/local/php5/lib/php/

原始碼編譯LNMP出現的問題及解決方法
然後再重新啟動php-fpm

問題2:
ERROR: unable to bind listening socket for address '127.0.0.1:9000': Address already in use (98)
原始碼編譯LNMP出現的問題及解決方法
原因:
php-fpm模組已經啟動,9000埠已開啟

解決辦法:
殺死php-fpm程序

killall php-fpm
原始碼編譯LNMP出現的問題及解決方法
然後再重新啟動php-fpm

3.php連線MySQL新建立的資料庫bbs失敗

問題:
Access denied for user 'bbsuser'@'promote.cache-dns.local' (using password: YES)

原因:
可能是MySQL資料庫有空使用者名稱稱佔用

登入MySQL資料庫,檢視MySQL使用者列表,發現果然有空使用者佔用

原始碼編譯LNMP出現的問題及解決方法
解決辦法:
刪掉佔用的空使用者名稱稱
原始碼編譯LNMP出現的問題及解決方法

重新訪問瀏覽器
原始碼編譯LNMP出現的問題及解決方法