centos 7中编译安装PHP,使用php-fpm来让Nginx支持PHP

上篇《CentOS linux下 yum安装Apache、PHP》讲了yum快速搭建php测试环境。下面再说一下编译安装php访问环境LNMP,即Linux+Nginx+MySQL+PHP。对于LAMP就不多做说明,这种是将php作为apche的模块来运行,只需各服务都正常安装即可,无需特殊配置。

下面先介绍php的安装。


一、下载PHP源码

wget http://cn2.php.net/distributions/php-5.6.30.tar.gz


需要php7的话,修改版本数字即可

二、安装依赖库

  • yum –y install gcc automake autoconf libtool make

  • yum –y install gcc gcc-c++ glibc

  • yum –y install libmcrypt-devel mhash-devel libxslt-devel

  • yum –y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel

  • yum –y install zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel

  • yum -y install ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel

  • yum -y install krb5 krb5-devel libidn libidn-devel openssl openssl-devel


根据需要安装依赖,新服务器可以一键拷贝

三、编译文件

  1. root用户登录时下载文件是位于/root目录下,【解压文件】:tar zxvf /root/php-5.6.30.tar.gz

  2. 执行configure,参数根据需要自行设定,--enable-fpm一定要加上:

    cd /root/php-5.6.30

    ./configure --prefix=/usr/local/php-5.6.30 --enable-fpm --with-mcrypt --enable-mbstring --disable-pdo --with-curl --disable-debug --disable-rpath --enable-inline-optimization --with-bz2 --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --with-mhash --enable-zip --with-pcre-regex --with-mysql --with-mysqli --with-gd --with-jpeg-dir -with-gettext --enable-xml --enable-freetype

  3. 继续执行命令

    make

    make install

四、修改配置文件

  1. 将解压文件夹中的php.ini-development开发模式文件更该为php.ini:

    cp /root/php-5.6.30/php.ini-development /usr/local/php-5.6.30/lib/php.ini

  2. vi /usr/local/php-5.6.30/lib/php.ini

    具体修改如下:

    error_reporting = E_ALL & ~E_NOTICE 输出调试信息和通知(可省略)

    error_log = /usr/local/php-5.6.30/var/log/error-log.log 错误日志路径

    date.timezone = "Asia/Shanghai" 去掉注释设置为中国时区

  3. cp /usr/local/php-5.6.30/etc/php-fpm.conf.default /usr/local/php-5.6.30/etc/php-fpm.conf

    vi /usr/local/php-5.6.30/etc/php-fpm.conf

    修改php-fpm.conf,具体如下:

    pid = run/php-fpm.pid 【取消注释,值改为 /usr/local/php-5.6.30/var/run/php-fpm.pid】

    error_log = log/php-fpm.log 【取消注释,值改为 /usr/local/php-5.6.30/var/log/error-log.log】

    user = nobody 【值改为自己设置的用户,如nginx】

    group = nobody 【值改为自己设置的用户组,如nginx】

    catch_workers_output = yes 【取消注释】

  4. vi /etc/nginx/nginx.conf

    修改nginx.conf,具体如下图,若提示找不到文件,则可将/scripts改为$document_root:

五、启动服务,访问php文件

  1. systemctl start nginx.service 或者 service nginx start 【启动nginx】

  2. /usr/local/php-5.6.30/sbin/php-fpm 【启动php-fpm】

  3. 浏览器输入ip/index.php



先介绍php部分的源码安装,其他以后在详细说明。若有问题可以留言,小编很荣幸与您探讨。

举报
评论 0