码迷,mamicode.com
首页 > Web开发 > 详细

衡阳高防服务器租用-CentOS6.2服务器环境配置:源码编译PHP5.4

时间:2015-10-19 15:46:56      阅读:336      评论:0      收藏:0      [点我收藏+]

标签:

衡阳高防服务器租用-CentOS6.2服务器环境配置:源码编译PHP5.4


在 开始之前,先把关于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 style="word-wrap: break-word; color: rgb(0, 0, 0); font-family: Tahoma, Helvetica, SimSun, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 25px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);">
# 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
rm -f $php_fpm_pid
fi
if [ -e $php_fpm_pid -a ! -z $php_fpm_pid ]; then
echo $"$prog already running..."
exit 1
fi
if [ -e $php_fpm_conf ]; then
echo -n $"Starting $prog: "
$php_fpm_path -y $php_fpm_conf &
RETVAL=$?
[ $RETVAL -eq 0 ] && success $"$prog"
echo
[ $RETVAL -eq 0 ] && return $RETVAL
pid created $php_fpm_pid
if [ -n "$try" ]; then
RETVAL=1
else
RETVAL=0
fi
else
RETVAL=1
fi
return $RETVAL
}
# Stop daemons.
stop() {
echo -n $"Stopping $prog: "
killproc $php_fpm_path -TERM
RETVAL=$?
pid removed $php_fpm_pid
if [ -n "$try" ]; then
RETVAL=1
failure
else
RETVAL=0
success
fi
echo
[ $RETVAL = 0 ] && rm -f $php_fpm_pid
return $RETVAL
}
pid () {
try=0
while test $try -lt 35; do
case "$1" in
‘created‘)
if [ -f "$2" ]; then
try=""
break
fi
;;
‘removed‘)
if [ ! -f "$2" ]; then
try=""
break
fi
;;
esac
try=$(expr $try + 1)
sleep 1
done
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
status $prog
RETVAL=$?
;;
*)
echo $"Usage: $0 {start|stop|restart|status}"
exit 1
esac
exit $RETVAL
------------------------分隔线--------
以上内容保存到/etc/init.d/php-fpm,并加入执行权限,chkconfig php-fpm on 加入开机自动启动。
虽然此脚本也是转载网友的,经过昨天的遭遇发现此脚本还有个不完美的地方,如果由于服务器意外重启或者其它原因产生一个空的pid文件,那么就会造成启动失败,所以在启动命令执行之前检查pid文件是否为空,空的就把它删除,这样方可正常。
至此就已经介绍完了。我相信对于很多刚接触Linux的朋友通过阅读三篇简单的教程就可以轻松配置一台具体PHP+Mysql+Nginx的Web服务器。

妙解!无视攻击!

高防特价:网站游戏棋牌最佳选择

衡阳电信(30G单防)8H/8G/1T/独享20M --800元

衡阳双线(30G单防)8H/8G/1T/独享20M--1100元

百兆独享:视频影音聊天室下载站的福音

衡阳电信(30G单防)8H/8G/1T/独享100M --1100元

小新企业Q 2851506992 Q604906005  Tell:15013023312

衡阳高防服务器租用服务器托管,机柜大带宽租用

衡阳机房出口500G30G--200G高防御,

开放UDP  80端口  无视CC/UDP/SYN攻击!

全新配置戴尔R610,八核十六线程

湖南IDC机房  高防高配 百度IP 戴尔品牌服务器

 

衡阳高防服务器租用-CentOS6.2服务器环境配置:源码编译PHP5.4

标签:

原文地址:http://my.oschina.net/u/2431194/blog/518854

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!