nginx下安装php7+php5

 更新时间:2016年07月31日 17:31:14   投稿:hebedich  
本文给大家分享的是在nginx下安装php7,并且实现与php5共存,非常的实用,有需要的小伙伴可以参考下

起步

之前在服务器搭建了lamp环境,想换用性能更强的nginx作为服务器软件,又想将php5升级为php7.

安装nginx无需赘述:sudo apt-get install nginx,启动ng前修改apache的端口。

安装php7

源码在http://php.net/downloads.php 下载,并解压。

复制代码 代码如下:
# cd php7***
# ./configure --prefix=/usr/local/php7 --with-config-file-path=/usr/local/php7/etc --with-mcrypt=/usr/include --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-gd --with-iconv --with-zlib --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-mbregex --enable-fpm --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
# make install


为不与5冲突,文件夹都用php7,安装过程中报错的安装响应的依赖。

对接nginx

nginx本身不能处理php脚本,需要发给php解释器处理。nginx一般是把请求发fastcgi管理进程处理,fascgi管理进程选择cgi子进程处理结果并返回被nginx。

复制代码 代码如下:
# cp php.ini-production /usr/local/php7/etc/php.ini
# cp sapi/fpm/init.d.php-fpm /etc/init.d/php7-fpm
# chmod +x /etc/init.d/php7-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

启动php-fpm

复制代码 代码如下:
# service php7-fpm start

中途如遇到日志文件路径不存在就手动创建并给予写的权限。

复制代码 代码如下:
# service php7-fpm start
Starting php-fpm [07-Apr-2016 11:16:11] ERROR: [pool www] cannot get gid for group 'nobody'
[07-Apr-2016 11:16:11] ERROR: FPM initialization failed
 failed

遇到这个错误时,要添加个nobody组groupadd nobody再重新启动。

nginx的配置

这是访问php文件是变成下载文件,因为ng并未配置响应处理。

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

相关文章

  • php基于表单密码验证与HTTP验证用法实例

    php基于表单密码验证与HTTP验证用法实例

    这篇文章主要介绍了php基于表单密码验证与HTTP验证用法,以实例形式较为详细的分析了表单密码验证与HTTP验证的原理与相关注意事项,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-01-01
  • PHP 7.1中AES加解密方法mcrypt_module_open()的替换方案

    PHP 7.1中AES加解密方法mcrypt_module_open()的替换方案

    这篇文章主要给大家介绍了关于PHP 7.1中AES加解密方法mcrypt_module_open()替换方案的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-10-10
  • php实现多维数组中每个单元值(数字)翻倍的方法

    php实现多维数组中每个单元值(数字)翻倍的方法

    这篇文章主要介绍了php实现多维数组中每个单元值(数字)翻倍的方法,涉及php操作数组的技巧,需要的朋友可以参考下
    2015-02-02
  • 如何使用PHP对象POPO来优化你的代码

    如何使用PHP对象POPO来优化你的代码

    如果您熟悉Java,可能您已经知道POJO(普通Java类). 因为POJO这个词最早是由Martin Fowler、Rebecca Parsons 和 Josh MacKenzie 于 2000 年在 Java 编程语言上创造的。 POJO 使我们更容易理解类对象中的数据结构类型。本文将详细介绍如何使用PHP对象POPO来优化你的代码。
    2021-05-05
  • PHP性能优化 产生高度优化代码

    PHP性能优化 产生高度优化代码

    PHP是一种在服务器端执行的脚本语言,它开发了世界上许多知名的网站,包括雅虎和Facebook等。下面介绍6条PHP代码、性能优化的技巧。
    2011-07-07
  • 简单的cookie计数器实现源码

    简单的cookie计数器实现源码

    本篇文章是对一个简单的cookie计数器的实现源码进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • php 一元分词算法

    php 一元分词算法

    php 一元分词算法
    2009-11-11
  • php 各种应用乱码问题的解决方法

    php 各种应用乱码问题的解决方法

    php开发中经常碰到一些乱码问题,这里脚本之家给简单的整理下。
    2010-05-05
  • php方法调用模式与函数调用模式简例

    php方法调用模式与函数调用模式简例

    函数调用模式时,this被绑定到全局对象。这种情况在对象的属性与方法被初始化时也能够得到反应。
    2011-09-09
  • Lumen timezone 时区设置方法(慢了8个小时)

    Lumen timezone 时区设置方法(慢了8个小时)

    今天用 Lumen 框架写代码时, 也是初次体验 Lumen, 遇到了一个问题, 从数据库里查出的时间比数据库里保存的 TIMESTAMP 时间慢了8个小时, 很明显这是一个时区设置的问题, 本以为可以在1分钟内解决的, 但是我错了
    2018-01-01

最新评论