共计 1543 个字符,预计需要花费 4 分钟才能阅读完成。
整理了一些有关源码编译 LNMP 出现的问题及解决方法,仅供参考。
1.CentOS 7 编译 php 出错:make: *** [ext/dom/node.lo] 错误 1
问题:
解决办法:需要打补丁
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 命令执行
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
原因:
php-fpm 模块所调用的 ZendGuardLoader.so 模块为 32 位的模块,但是当前系统是 64 位系统,所以启动失败
可以用 file 命令查看当前的 ZendGuardLoader.so 的文件信息
解决办法:
下载一个对应 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/
然后再重新启动 php-fpm
问题 2:
ERROR: unable to bind listening socket for address ‘127.0.0.1:9000’: Address already in use (98)
原因:
php-fpm 模块已经启动,9000 端口已开启
解决办法:
杀死 php-fpm 进程
killall php-fpm
然后再重新启动 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 用户列表,发现果然有空用户占用
解决办法:
删掉占用的空用户名称
重新访问浏览器
: