CentOS 6.9编译安装php7(nginx)

将之前放在OneNote上的笔记放到博客中,如有错误还请指出

先安装依赖项
    yum -y install libxml2 libxml2-devel openssl openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel libmcrypt-devel

上面的命令并没有成功安装libmcrypt,需要手动下载安装

    wget https://jaist.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz

解压进入

./configure
make && make install

下载并解压源码包后进入解压后的文件夹

    ./configure --prefix=/usr/local/php7 \
--with-config-file-path=/usr/local/php7/etc \
--with-config-file-scan-dir=/usr/local/php7/etc/php.d \
--with-mcrypt=/usr/include \
--enable-mysqlnd \
--with-mysqli \
--with-pdo-mysql \
--enable-fpm \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--with-gd \
--with-iconv \
--with-zlib \
--enable-xml \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--enable-mbregex \
--enable-mbstring \
--enable-ftp \
--enable-gd-native-ttf \
--with-openssl \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-zip \
--enable-soap \
--without-pear \
--with-gettext \
--enable-session \
--with-curl \
--with-jpeg-dir \
--with-freetype-dir \
--enable-opcache

make -j2
mkae install
php.ini

安装完成之后可以看到在etc文件夹里并没有php.ini ,于是从PHP的源码包里复制过来

进入刚才下载解压的源码包

cp php.ini-development /usr/local/php7/etc/php.ini   #这里采用开发模式的php.ini,还有一个产品模式的配置文件
启用php-fpm服务

将etc文件夹里的默认php-fpm.conf.default改为php-fpm.conf

    cd /usr/local/php7/etc
    mv php-fpm.conf.default php-fpm.conf
    mv php-fpm.d/www.conf.default php-fpm.d/www.conf
php-fpm服务载入

进入PHP的源码目录,将php-fpm设置为可以使用service重启关闭等操作

    cd /usr/local/src/php-7.1.16/sapi/fpm
    cp init.d.php-fpm /etc/init.d/php-fpm
    chmod +x /etc/init.d/php-fpm    #赋予所有用户执行的权限
    chkconfig --add php-fpm    #作为一项新的系统服务添加
    chkconfig php-fpm on    #设置php-fpm在2、3、4、5等级下可用,详情搜索chkconfig用法

然后就可以执行service php-fpm start运行fpm了

    ps -ef | grep php-fpm     #检查php-fpm是否已经运行
让nginx代理php

将客户端通过80端口发给nginx的请求转发给php-fpm(默认9000端口),让php-fpm处理执行php,fpm再将结果返回给nginx

vi /usr/local/nginx/conf/nginx.conf

配置为如下情况

  #location ~ \.php$  {
  #   root           html;
  #  fastcgi_pass   127.0.0.1:9000;
  #  fastcgi_index  index.php;
  #  fastcgi_param  SCRIPT_FILENAME  /script$fastcgi_script_name;
  #  include        fastcgi_params;
 #}
    =》
    location ~ \.php$ {
    root           html;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  /$document_root$fastcgi_script_name;
    include        fastcgi_params;
}

然后重新载入nginx

/usr/local/nginx/nginx -s reload

在nginx的网站根目录下编写PHP文件 就可以访问了

你可能感兴趣的:(centos,各种安装)