CentOS6.2服务器环境配置:源码编译PHP5.4
|
继前面两篇《Centos6.2_(64位)服务器环境配置:源码编译Mysql》和《Centos6.2_(64位)服务器环境配置:源码编译Nginx》之后,把PHP部分也写写,这篇主要还是针对编译安装过程中遇到的一些奇怪问题详解吧,其它安装都差不多的。 在 开始之前,先把关于libmcrypt库的问题再说说,我也是在安装过程遇到的,因为原本以为yum可以安装好一切依赖包的,但在Centos6.2 64位环境下就是这么奇怪,yum安装上的libmcrypt始终都在编译过程提示缺少一个.h文件,为此差点碰伤了头。经过过多试验,总算把 libmcrypt这块先弄好了,否则到了PHP的安装环境是做不来的。 安装PHP5.4.13要做的相关准备工作有除了下载PHP5.4.13的源码包之外,还需要下载Libmcrypt,mcrypt和mhash,后面两个为第一个的依赖包,而Libmcrypt又是PHP的相关依赖包,首先要把这一小部分安装好。 PHP5.4.13 源码下载地址 http://cn.php.net/get/php-5.4.13.tar.gz/from/cn2.php.net/mirror Libmcrypt( libmcrypt-2.5.8.tar.gz ): http://sourceforge.net/project/showfiles.php?group_id=87941&package_id=91774&release_id=487459 http://downloads.sourceforge.net/project/mcrypt/Libmcrypt/Production/libmcrypt-2.5.7.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fmcrypt%2Ffiles%2FLibmcrypt%2FProduction%2F&ts=1364009948&use_mirror=nchc mcrypt( mcrypt-2.6.8.tar.gz ): http://sourceforge.net/project/showfiles.php?group_id=87941&package_id=91948&release_id=642101 mhash( mhash-0.9.9.9.tar.gz ): http://sourceforge.net/project/showfiles.php?group_id=4286&package_id=4300&release_id=645636 以上几个就是对应文件的下载链接,直接wget即可。 1、先安装Libmcrypt #www.5ishare.com ,以/apps/setup为安装文件存放目录 #tar -zxvf libmcrypt-2.5.8.tar.gz #cd libmcrypt-2.5.8 #./configure #make & make install 说明:libmcript默认安装在/usr/local/lib 2.安装mhash #tar -zxvf mhash-0.9.9.9.tar.gz #cd mhash-0.9.9.9 #./configure #make & make install 3.安装mcrypt #tar -zxvf mcrypt-2.6.8.tar.gz #cd mcrypt-2.6.8
#LD_LIBRARY_PATH=/usr/local/lib ./configure #make & make install 说 明:由于在配置Mcrypt时,会找不到libmcrypt的链接库,导致无法编译,需要手动指定 libmcrypt:LD_LIBRARY_PATH=/usr/local/lib 。而且实验证明,经过以上安装之后,可解决configure: error: mcrypt.h not found. Please reinstall libmcrypt.问题。 以下一段是PHP的安装配置参数,也是比较常用的,对于安装路径参数可以自行调整。 ./configure --prefix=/apps/php5.4 --with-config-file-path=/apps/php5.4/etc --with-mysql=/apps/mysql --with-mysqli=/apps/mysql/bin/mysql_config --with-mysql-sock=/tmp/mysql.sock --with-gd --with-iconv --with-zlib --enable-xml --enable-magic-quotes --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-appsimization --with-curlwrappers --enable-mbregex --enable-fpm --with-fpm-user=www --with-fpm-group=www --enable-mbstring --enable-ftp --enable-gd-native-ttf --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --enable-session --with-mcrypt --with-curl 细心的朋友可能已经发现参数里有两个www的参数,这个就是前边安装Nginx的时候添加的用户和用户组,因为Nginx负责前端,PHP是后端,所以使用同一组帐号就方便对目录的权限设置。 配置完毕之后,就可以执行 #make & make install进行安装了,这个环节要花费的时候比较长,可能是自己的机器配置不太高吧(2核4G内存),足足make了将近20分钟。最近还可以对所有 功能模块进行测试,这个更长时间了,30分钟以上,这一步不是必须的,只是闲着蛋痛的时候玩的。 编译安装完毕,还需要一些设置: #cp php.ini-production /apps/php5.4/etc/php.ini //复制php配置文件到安装目录 #rm -rf /etc/php.ini //删除系统自带配置文件 #ln -s /apps/php5.4/etc/php.ini /etc/php.ini //添加软链接 #cp /apps/php5.4/etc/php-fpm.conf.default /apps/php5.4/etc/php-fpm.conf //拷贝模板文件为php-fpm配置文件 #vi apps/php5.4/etc/php-fpm.conf pid = /tmp/php-fpm.pid //取消前面的分号 经过以上操作,PHP-FPM已经可以运行了,但是这样不宵完美,因为php-fpm本身没提供方便用户启动或者重启的脚本,要自己弄一个,内容如下: #!/bin/bash # www.5ishare.com # create by gesion<gesion@163.com> # php-fpm - This shell script takes care of starting and stopping php-fpm.# # chkconfig: - 60 50 # description: php-fpm is a php-cgi service. # processname: php-fpm # config: /etc/php-fpm.ini php_fpm_path="/apps/php5.4/sbin/php-fpm" php_fpm_conf="/apps/php5.4/etc/php-fpm.conf" php_fpm_pid="/tmp/php-fpm.pid" # Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network # Check that networking is up. [ ${NETWORKING} = "no" ] && exit 0 [ -x $php_fpm_path ] || exit 0 RETVAL=0 prog="php-fpm" # Start daemons. start() { if [ ! -s $php_fpm_pid ]; then (编辑:佛山站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |


