源码编译LNMP出现的问题及解决方法

整理了一些有关源码编译LNMP出现的问题及解决方法,仅供参考。

1.CentOS 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失败

#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数据库有空用户名称占用

登录MySQL数据库,查看MySQL用户列表,发现果然有空用户占用

源码编译LNMP出现的问题及解决方法
解决办法:
删掉占用的空用户名称
源码编译LNMP出现的问题及解决方法

重新访问浏览器
源码编译LNMP出现的问题及解决方法

相关推荐