在openSUSE42.1下编译安装PHP7 的方法

前端之家收集整理的这篇文章主要介绍了在openSUSE42.1下编译安装PHP7 的方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

首先推荐一篇文章PHP 7 Release Date Arrived: Will Developers Adopt PHP 7? - PHP Classes blog。

里面说到是否会去使用PHP7,就个人而言,我是毫不犹豫地使用的,但是生产环境就不是我说了算,所以只能自己在自己的开发环境里更新PHP的版本。那么,你呢?

笔者使用的是Linux的openSUSE42.1发行版,Yast里面还没有PHP7的安装包,于是乎只能自己手动编译安装了。作为一个PHP开发者,我是非常希望能够学会编译安装PHP7的,之前试过几次,但是每次安装都要上网找各种资料,于是乎,这次安装成功后就想把自己的安装过程以及遇到的问题记录下来,方便以后查阅和分享给需要的人。

下载源码并解压

进入正题,要编译安装PHP7,首先当然要下载PHP7的源码。你可以到github上clone,也可以到PHP官网下载。下载后解压到 /usr/local/src 目录,并将目录重命名PHP7。进入目录。

配置编译参数

生成配置文件

./buildconf

配置

PHP;"> ./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的配置文件目录

执行完上面的配置命令后的结果如下图所示:

执行上面命令的过程中会遇到一些依赖缺少的提示,下面列出我遇到的依赖问题:

错误

configure: error: xml2-config not found. Please check your libxml2 installation.

解决

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

错误

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。

编译和安装PHP7

make && make install

其中,make之后可以选择make test。只是一个可选步骤,不执行不知道有什么问题,不过笔者暂时还没遇到。

查看安装成功后的PHP7目录

编译安装成功后,查看PHP7的安装目录`ls /usr/local/PHP7`:

设置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

设置PHP日志目录和PHP-fpm进程文件PHP-fpm.sock)目录

mkdir -p /var/log/PHP-fpm/ && mkdir -p /var/run/PHP-fpm && cd /var/run/ && chown -R Nginx:Nginx PHP-fpm

PHP设置为开机启动

chmod +x /etc/init.d/PHP-fpm chkconfig PHP-fpm on

可以用chkconfig命令查看开机启动服务列表。

启动PHP服务

service PHP-fpm start

通过ps aux | grep 'PHP'查看PHP是否启动成功

至此,PHP7就安装成功了,你也开始使用PHP7吧!

以上所述给大家介绍了在openSUSE42.1下编译安装PHP7 的方法,希望大家喜欢。

原文链接:https://www.f2er.com/php/20688.html

猜你在找的PHP相关文章