整理了一些有關(guān)源碼編譯LNMP出現(xiàn)的問題及解決方法,僅供參考。
1.CentOS 7編譯php出錯(cuò) :make: *** [ext/dom/node.lo] 錯(cuò)誤 1
問題:
解決辦法:需要打補(bǔ)丁
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
注意如果沒有patch命令執(zhí)行
yum install -y patch
然后再重新configure配置,重新make。
2.PHP-FPM啟動(dòng)失敗
問題1:
Failed loading /usr/local/php5/lib/php/ZendGuardLoader.so: /usr/local/php5/lib/php/ZendGuardLoader.so: wrong ELF class: ELFCLASS32
原因:
php-fpm模塊所調(diào)用的ZendGuardLoader.so模塊為32位的模塊,但是當(dāng)前系統(tǒng)是64位系統(tǒng),所以啟動(dòng)失敗
可以用file命令查看當(dāng)前的ZendGuardLoader.so的文件信息
解決辦法:
下載一個(gè)對(duì)應(yīng)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/
然后再重新啟動(dòng)php-fpm
問題2:
ERROR: unable to bind listening socket for address ‘127.0.0.1:9000’: Address already in use (98)
原因:
php-fpm模塊已經(jīng)啟動(dòng),9000端口已開啟
解決辦法:
殺死php-fpm進(jìn)程
killall php-fpm
然后再重新啟動(dòng)php-fpm
3.php連接MySQL新創(chuàng)建的數(shù)據(jù)庫bbs失敗
#php連接MySQL的語句
vi /var/www/benet/index.php
<?php
$link=mysql_connect(‘192.168.26.153′,’bbSUSEr’,’admin123′);
if($link) echo “Success!!”;
else echo “Fail!!”;
mysql_close();
phpinfo();
?>
問題:
Access denied for user ‘bbsuser’@’promote.cache-dns.local’ (using password: YES)
原因:
可能是MySQL數(shù)據(jù)庫有空用戶名稱占用
登錄MySQL數(shù)據(jù)庫,查看MySQL用戶列表,發(fā)現(xiàn)果然有空用戶占用
解決辦法:
刪掉占用的空用戶名稱
重新訪問瀏覽器