1,编译安装Apache的时候没有报错,版本是httpd-2.2.29.tar.gz
2,安装MySQL时也没有报错,版本是MySQL-server-5.6.17 记得大概是的
3,编译安装PHPadmin也没有报错
3,编译安装PHP时,出现报错的次数比较多
1)./configure --with-mysql=/usr/local/mysql --with-apxs2=/usr/local/apache/bin/apxs --enable-mbstring
此时编译时:报如下错误
configure: error: Cannot find MySQL header files under yes.Note that the MySQL client library is not bundled anymore.
解决此错误的方法:原因是缺少MySQL的头文件,即mysql.h文件,使用find命令查找本机上是否有此文件。
find / - type f -name "mysql.h",如果没有请安装mysql-devel软件。如果有,指向其即可。
我的问题在于系统是64的,mysql.h 文件没有放在/usr/local/mysql下,我把--with-mysql=/usr后,此问题就解决了。
2)./configure --with-mysql=/usr --with-apxs2=/usr/local/apache/bin/apxs --enable-mbstring
此时提示的错误:
configure: error: mysql configure failed. Please check config.log for more information.
这个问题,我在网上查了好久,都没有解决掉
网上给的办法是:说32bit 64bit的问题,也有的说是版本的问题,也有的说是编译工具的问题。试下了,一个没有对的。还有一个我看挺靠谱的,方法是:libmysqlclient.a library 是在 /usr/lib64/mysql, 不是在 /usr/lib/mysql.我把其拷贝一份到/usr/lib 问题依旧。怀疑还真有可能是版本的问题。这个暂时还没有试。
更新:又找到一种方法,晚上回去试下,感觉这次应该会是正确的。
这个问题用mysql官网的rpm包在64的机器都会出这个问题的,其实可以编辑php的configure 文件找到下面的这一段 ,大概是在 75600 多行(我查看的一个包里面的是在59600左右,不过版本不知道一致不一致),加上lib64 lib64/mysql就可以的啦,编辑Makefile后再configure又没了,修改好configure之后再打个包以,后用就可以一直用重新打包后的这个PHP安装包了。
for i in $PHP_LIBDIR $PHP_LIBDIR/mysql lib64 lib64/mysql; do
str="$MYSQL_DIR/$i/lib$MYSQL_LIBNAME.*"
for j in `echo $str`; do
if test -r $j; then
MYSQL_LIB_DIR=$MYSQL_DIR/$i
break 2
fi
done
done
3)我把--with-mysql选项去掉。编译ok。但是在访问PHPadmin的时候,提示
PHPadmin Error
the mbstring extension is missing …………………………这下晕了,说mbstring扩展丢失。回头看下,使用httpd -m查看已经有mbstring模块了。但是在phpinfo页面上查看不到mbstring选项。然后重新编译PHP结果依旧,网上搜索说的方法也挺多,就是没有解决掉,安装php-mbstring,修改json.ini文件 始终都没有解决。今天继续跟进下以上问题。
本文出自 “linux菜鸟” 博客,请务必保留此出处http://ludihua.blog.51cto.com/4601284/1600508
原文地址:http://ludihua.blog.51cto.com/4601284/1600508