php,mysql,nginx装过很多次了,但是很少在64位的系统下装。今天在centos6,64位的系统下装了一下,整个安装过程总觉得不是很顺利,磕磕碰碰的。下面说一下我安装过程中遇到的主要问题。
一,安装mysql
首先要确定一下,要装的mysql是不是64位,如果不是到官方网站上去下一个
http://dev.mysql.com/downloads/mysql/5.5.html
http://dev.mysql.com/downloads/mysql/5.1.html
我下载的是tar.gz的文件,解压后的文件,是编译安装好了的,就是说configure,make && make install这二步已经走完了。没有做的是:
1,目录权限没有设置。
2,并没有安装具体的数据库,也就是说/usr/local/mysql/data/,目录下面是空的
scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
3,没有配置文件
cp support-files/my-medium.cnf /usr/local/mysql/my.cnf
具体的细节,网上很多,我也写过详细的安装过程,就不这儿多说了。
二,安装php
1,configure的时候报错
configure: error: libjpeg.(a|so) not found.
configure: error: libpng.(a|so) not found.
[root@localhost php-5.2.6]# whereis libpng
libpng: /usr/lib64/libpng12.so /usr/lib64/libpng.so /usr/share/man/man3/libpng.3.gz
我看了一下,都是有的,我估计装的时候,根本没有从lib64这个目录下去读,解决办法如下,
ln -s /usr/lib64/libjpeg.so /usr/lib/libjpeg.so
ln -s /usr/lib64/libpng.so /usr/lib/libpng.so
2,make的时候报错
。。。。。。。。。。。。。。
/usr/bin/ld: i386 architecture of input file `ext/gd/gdttf.o' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `ext/gd/libgd/gd.o' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `ext/gd/libgd/gd_gd.o' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `ext/gd/libgd/gd_gd2.o' is incompatible with i386:x86-64 output
。。。。。。。。。。。。
我在网上找了几种解决方法 ,但是都没有成功,无意间我重起了一下服务器,在次编译的时候,尽然不报错了,说实话挺无语了。玩linux也有好多年了,还是第一次遇到这样的事情。
三,安装nginx
1,configure时报错
./configure: error: the HTTP rewrite module requires the PCRE library
解决办法如下:
yum install pcre-devel pcre
四,用phpize安装php扩展时
1,/usr/local/php/bin/phpize时报错
。。。。。。。。。。。。。。。。。。。。
configure.in:492: warning: AC_CACHE_VAL(have_broken_glibc_fopen_append, …): suspicious cache-id, must contain _cv_ to be cached
autoconf/general.m4:2013: AC_CACHE_VAL is expanded from…
aclocal.m4:1736: PHP_BROKEN_GLIBC_FOPEN_APPEND is expanded from…
ext/mbstring/config.m4:356: warning: AC_CACHE_VAL(cv_php_mbstring_stdarg, …): suspicious cache-id, must contain _cv_ to be cached
autoconf/general.m4:2026: AC_CACHE_CHECK is expanded from…
ext/mbstring/config.m4:205: PHP_MBSTRING_SETUP_MBREGEX is expanded from…
ext/pdo_dblib/config.m4:71: warning: AC_CACHE_VAL(pdo_inc_path, …): suspicious cache-id, must contain _cv_ to be cached
aclocal.m4:2754: PHP_CHECK_PDO_INCLUDES is expanded from…
ext/pdo_firebird/config.m4:48: warning: AC_CACHE_VAL(pdo_inc_path, …):
。。。。。。。。。。。。。。。。。。。
提示的错误,从来没有遇到过,网上找了半天找到了原因,用yum装的autoconf太新了,所以我重新下了一下autoconf比较老的版本,下载地址如下,
http://download.chinaunix.net/download.php?id=1239&ResourceID=648
将其安装在/usr/local/autoconf下面。
网上有这样的解决办法,我觉得可行,但是我试了一下没有成功。
export PHP_AUTOCONF=/usr/local/autoconf/bin/autoconf
export PHP_AUTOHEADER=/usr/local/autoconf/bin/autoheader
我的解决办法,将/usr/bin下的autoconf和autoheader进行一下备份,将自己安装的autoconf和autoheader,cp到/usr/bin目录下面就行了。./configure 最好加上--with-libdir=lib64
到这儿,nginx+php+mysql就装好了。
转载请注明
作者:海底苍鹰
地址:http://blog.51yip.com/server/1335.html