编译安装 php-5.5.19

全栈 shanhuhai 1752℃

导语

大家编译安装 php 的时候经常会遇到各种各样的问题,大部分时候是 php 的依赖库没有预先装好,如果依赖库装好了,你基本已经成功一大半了,另外如果要启动 php-fpm 的话,最好创建 www 的用户组和用户,然后用 www 来启动 php-fpm ,一般 nginx 也会使用 www 用户来启动,并且让 www 的用户没有 shell 的执行权限,这样即使被黑客侵入了你的网站,也不能轻易就拿到你的 root 权限,比较安全点。
下面就开始编译之旅,下面的命令都在 shell 下运行。

环境

操作系统: centos 6.5
php版本: php-5.5.19 (5.6也可以)

创建用户

既然这个 www 用户如此重要 ,那就先创建 www 用户吧。

groupadd www
useradd -g www -s /sbin/nologin -M www

安装依赖

yum -y install gcc bison bison-devel zlib-devel libmcrypt-devel mcrypt mhash-devel openssl-devel libxml2-devel libcurl-devel bzip2-devel readline-devel libedit-devel gd-devel pcre-devel

好吧,只要执行了这条命令,后面就会少了很多烦恼

编译安装

cd ~
mkdir download && cd download
wget http://jp1.php.net/get/php-5.5.19.tar.gz/from/this/mirror
tar xvzf php-5.5.19.tar.gz
cd php-5.5.19

开始编译

./configure \
--prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc \
--enable-inline-optimization \
--disable-debug \
--disable-rpath \
--enable-shared \
--enable-opcache \
--enable-fpm \
--with-fpm-user=www \
--with-fpm-group=www \
--with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-gettext \
--enable-mbstring \
--with-iconv \
--with-mcrypt \
--with-mhash \
--with-openssl \
--enable-bcmath \
--enable-soap \
--with-libxml-dir \
--enable-pcntl \
--enable-shmop \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-sockets \
--with-curl \
--with-zlib \
--enable-zip \
--with-bz2 \
--with-readline \
--with-gd \
--disable-fileinfo

嗯,一条过。( 有问题? 在下面留言吧 )
继续:

make && make install

装完了
再做一些配置的工作:

cp php.ini-development /usr/local/php/etc/php.ini
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod 600 /etc/init.d/php-fpm

启动:

/etc/init.d/php-fpm start

完工。要装别的扩展就自己折腾吧,很简单,我已经装到手软了。

PS

为什么没装 php 5.6?
装了,测试了几天,发现 phpredis 这个扩展会有内存泄露的问题 比如下面的代码

 $redis->hMset('key', array(
        'order_id' => '190470',
        'restaurant_id' => '317',
        'sequence' => '353',
        'user_id' => NULL,
        'create_time' => '2014-11-20 14:04:49',
        'amount' => '24.00'
    )
);

具体看 https://github.com/nicolasff/phpredis/issues/524

在哪里下载 php 安装包?
php 官网
http://php.net/get/php-5.5.19.tar.gz/from/a/mirror
日本的镜像最快了。。尼玛

转载请注明:大后端 » 编译安装 php-5.5.19

喜欢 (0)or分享 (0)