• 技术文章 >后端开发 >php教程

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

    2016-06-07 17:10:19原创409

    首先推荐一篇文章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

    配置

    ./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 的方法,希望大家喜欢。

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:PHP内核探索之解释器的执行过程_php实例 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • PHP网站常见一些安全漏洞及防御方法• 用PHP来验证Email是否正确_PHP• thinkphp多层MVC用法分析_php实例• php实现文件编码批量转换_php实例• PHP奇怪的代码(破解),(100分)
    1/1

    PHP中文网