首先推荐一篇文章PHP 7 Release Date Arrived: Will Developers Adopt PHP 7? - PHP Classes blog。php
里面说到是否会去使用PHP7,就我的而言,我是坚决果断地使用的,可是生产环境就不是我说了算,因此只能本身在本身的开发环境里更新PHP的版本。那么,你呢?html
笔者使用的是Linux的openSUSE42.1发行版,Yast里面尚未PHP7的安装包,因而乎只能本身手动编译安装了。做为一个PHP开发者,我是很是但愿可以学会编译安装PHP7的,以前试过几回,可是每次安装都要上网找各类资料,因而乎,此次安装成功后就想把本身的安装过程以及遇到的问题记录下来,方便之后查阅和分享给须要的人。mysql
进入正题,要编译安装PHP7,首先固然要下载PHP7的源码。你能够到github上clone,也能够到PHP官网下载。下载后解压到/usr/local/src
目录,并将目录重命名为php7。进入目录。nginx
./buildconf
./configure \ --prefix=/usr/local/php7 \ --exec-prefix=/usr/local/php7 \ --bindir=/usr/local/php7/bin \ --sbindir=/usr/local/php7/sbin \ --includedir=/usr/local/php7/include \ --libdir=/usr/local/php7/lib/php \ --mandir=/usr/local/php7/php/man \ --with-config-file-path=/usr/local/php7/etc \ --with-mysql-sock=/var/run/mysql/mysql.sock \ --with-mcrypt=/usr/include \ --with-mhash \ --with-openssl \ --with-mysqli=shared,mysqlnd \ --with-pdo-mysql=shared,mysqlnd \ --with-gd \ --with-iconv \ --with-zlib \ --enable-zip \ --enable-inline-optimization \ --disable-debug \ --disable-rpath \ --enable-shared \ --enable-xml \ --enable-bcmath \ --enable-shmop \ --enable-sysvsem \ --enable-mbregex \ --enable-mbstring \ --enable-ftp \ --enable-gd-native-ttf \ --enable-pcntl \ --enable-sockets \ --with-xmlrpc \ --enable-soap \ --without-pear \ --with-gettext \ --enable-session \ --with-curl \ --with-jpeg-dir \ --with-freetype-dir \ --enable-opcache \ --enable-fpm \ --disable-cgi \ --with-fpm-user=nginx \ --with-fpm-group=nginx \ --without-gdbm \ --disable-fileinfo
参数说明
prefix PHP7安装的根目录
with-config-file-path PHP7的配置文件目录git
执行完上面的配置命令后的结果以下图所示:github
执行上面命令的过程当中会遇到一些依赖缺乏的提示,下面列出我遇到的依赖问题:sql
错误:api
configure: error: xml2-config not found. Please check your libxml2 installation.session
解决:php7
zypper install libxml2-devel
错误:
configure: WARNING: unrecognized options: --with-mysql
解决:
取消这个选项,这个选项是不存在的
错误:
configure: error: jpeglib.h not found.
解决:
zypper install libjpeg-devel
错误:
configure: error: mcrypt.h not found. Please reinstall libmcrypt.
解决:
zypper install libmcrypt-devel
错误:
configure: error: Cannot find pspell
解决:
取消该选项
错误:
checking for recode support... yes
configure: error: Can not find recode.h anywhere under /usr /usr/local /usr /opt.
解决:
zypper install librecode-devel
总的来讲,在配置的时候遇到没有的就打开Yast搜一下,若是有的话就安装,而后从新编译看还须要那些,若是在Yast找不到,那就上网找一下Google。
make && make install
其中,make以后能够选择make test。只是一个可选步骤,不执行不知道有什么问题,不过笔者暂时还没遇到。
编译安装成功后,查看PHP7的安装目录ls /usr/local/php7
:
cp /usr/local/src/php7/php.ini-production /usr/local/php7/etc/php.ini cp /usr/local/src/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf
在/etc/profile 文件的最后一行加上
`export PATH=/usr/local/php7/bin:/usr/local/php7/sbin:$PATH`
而后执行source /etc/profile
mkdir -p /var/log/php-fpm/ && mkdir -p /var/run/php-fpm && cd /var/run/ && chown -R nginx:nginx php-fpm
chmod +x /etc/init.d/php-fpm chkconfig php-fpm on
能够用chkconfig命令查看开机启动服务列表。
service php-fpm start
经过ps aux | grep 'php'查看PHP是否启动成功
至此,PHP7就安装成功了,你也开始使用PHP7吧!