编译安装php7与之前安装php5.x并没有什么大的区别。根据鸟哥的博客上说,使用gcc4.8及以上的版本编译php7,性能会有所提升,我们可以先升级下gcc。升级gcc可以参考gcc升级到4.8及以上
一、yum安装依赖项:
先更新下系统更新
yum update
安装必要的依赖工具
yum install -y gcc gcc-c++ make zlib zlib-devel pcre pcre-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers
二、编译安装php7
1、下载php7源码
下载地址:http://php.net
2、解压php7源码
tar -zxvf php-7.0.2.tar.gz
cd php-7.0.2
3、配置php7
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mcrypt=/usr/local/libmcrypt --with-mhash --with-openssl --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-gd --with-iconv --with-zlib --enable-zip --enable-inline-optimization --enable-shared --enable-sysvsem --enable-mbregex --enable-mbstring --enable-ftp --enable-gd-native-ttf --enable-pcntl --enable-sockets --with-xmlrpc --enable-soap --without-pear --with-gettext --with-curl --with-jpeg-dir --with-freetype-dir --enable-opcache --enable-fpm --enable-mysqlnd
(1)找不到mcrypt.h,需要安装libmcrypt包,而且版本要大于等于2.5.6.
下载地址:ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/libmcrypt
wget
tar -zxvf libmcrypt-2.5.7.tar.gz
cd libmcrypt-2.5.7
./configure --prefix=/usr/local/libmcrypt
make && make install
- (2)mysql_config not found
指定mysql的安装地址
4、编译安装
make && make install
5、配置文件初始化
cp php.ini-production /usr/local/php/etc/php.ini
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
6、启动脚本
cd sapi/fpm
cp init.d.php-fpm /etc/init.d/php-fpm
chmod a+x /etc/init.d/php-fpm
7、加入开机启动并启动php-fpm
chkconfig --add php-fpm
service php-fpm start
8、把php常用命令加入到环境变量中,一般使用软链接的形式,可以直接使用php -v这样的命令:
ln -s /usr/local/php/bin/php /usr/local/bin/php
ln -s /usr/local/php/bin/phpize /usr/local/bin/phpize
ln -s /usr/local/php/bin/php-config /usr/local/bin/php-config