centos7+php7.0.22环境搭建

  • 2017-08-03
  • 0
  • 0

php7安装(参考官网文档):

  1. 获取并解压 PHP 源代码:

    tar zxf php-7.0.22.tar.gz
    
  2. 配置并构建 PHP。在此步骤您可以使用很多选项自定义 PHP,例如启用某些扩展等。 运行 ./configure –help 命令来获得完整的可用选项清单。 在本示例中,我们仅进行包含 PHP-FPM 和 MySQL 支持的简单配置。

    cd ../php-7.0.22
    ./configure --prefix=/usr/local/php \
     --with-curl \
     --with-freetype-dir \
     --with-gd \
     --with-gettext \
     --with-iconv-dir \
     --with-kerberos \
     --with-libdir=lib64 \
     --with-libxml-dir \
     --with-mysqli \
     --with-openssl \
     --with-pcre-regex \
     --with-pdo-mysql \
     --with-pdo-sqlite \
     --with-pear \
     --with-png-dir \
     --with-xmlrpc \
     --with-xsl \
     --with-zlib \
     --enable-fpm \
     --enable-bcmath \
     --enable-libxml \
     --enable-inline-optimization \
     --enable-gd-native-ttf \
     --enable-mbregex \
     --enable-mbstring \
     --enable-opcache \
     --enable-pcntl \
     --enable-shmop \
     --enable-soap \
     --enable-sockets \
     --enable-sysvsem \
     --enable-xml \
     --enable-zip
    make sudo make install

    过程中如果出现错误请先安装依赖库,可以一次性安装常用的库 参考:http://blog.itest123.com/?p=263

  3. 创建配置文件,并将其复制到正确的位置。

    cp php.ini-development /usr/local/php/lib/php.ini
    cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
    cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
    cp -R ./sapi/fpm/php-fpm /etc/init.d/php-fpm
  4. 需要着重提醒的是,如果文件不存在,则阻止 Nginx 将请求发送到后端的 PHP-FPM 模块, 以避免遭受恶意脚本注入的攻击。

    将 php.ini 文件中的配置项 cgi.fix_pathinfo 设置为 0

    打开 php.ini:

    vim /usr/local/php/lib/php.ini
    

    定位到 cgi.fix_pathinfo= 并将其修改为如下所示:

    cgi.fix_pathinfo=0
  5. 然后启动 php-fpm 服务:

    启动
    /etc/init.d/php-fpm
    

    本文档未涵盖对 php-fpm 进行进一步配置的信息,如果您需要更多信息,请查阅相关文档。

  6. 配置 Nginx 使其支持 PHP 应用:

    vim /usr/local/nginx/conf/nginx.conf
    

    修改默认的 location 块,使其支持 .php 文件:

    location / {
        root   html;
        index  index.php index.html index.htm;
    }

    下一步配置来保证对于 .php 文件的请求将被传送到后端的 PHP-FPM 模块, 取消默认的 PHP 配置块的注释,并修改为下面的内容:

    location ~* \.php$ {
        fastcgi_index   index.php;
        fastcgi_pass    127.0.0.1:9000;
        include         fastcgi_params;
        fastcgi_param   SCRIPT_FILENAME    $document_root$fastcgi_script_name;
        fastcgi_param   SCRIPT_NAME        $fastcgi_script_name;
    }

    重启 Nginx。

    sudo /usr/local/nginx/sbin/nginx -s stop
    sudo /usr/local/nginx/sbin/nginx
    
  7. 创建测试文件。

    rm /usr/local/nginx/html/index.html
    echo "<?php phpinfo(); ?>" >> /usr/local/nginx/html/index.php
    

    打开浏览器,访问 http://localhost,将会显示 phpinfo() 。

通过以上步骤的配置,Nginx 服务器现在可以以 SAPI 模块的方式支持 PHP 应用了。 当然,对于 Nginx 和 PHP 的配置,还有很多可用的选项, 请在对应的源代码目录执行 ./configure –help 来查阅更多配置选项。

评论

还没有任何评论,你来说两句吧