如何安装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;
        }

原创文章,作者:DAPZN,如若转载,请注明出处:http://www.wangzhanshi.com/n/9836.html

(0)
DAPZN的头像DAPZN
上一篇 2025年1月1日 16:51:51
下一篇 2025年1月1日 16:51:53

相关推荐

  • PHP避免SQL注入的常用方法

    在开发php网站时,经常需要和数据库交互来存储和获取数据。然而,如果不对用户输入的数据进行处理,就可能会导致SQL注入攻击。SQL注入是一种常见的安全漏洞,攻击者可以通过恶意构造的…

    php 2024年12月17日
  • ThinkPHP5中Request请求对象大全

    可以通过Request对象完成全局输入变量的检测、获取和安全过滤,支持包括$_GET、$_POST、$_REQUEST、$_SERVER、$_SESSION、$_COOKIE、$_…

    php 2024年12月17日
  • PHP实现异步请求的四种方法

    PHP中的cURL可用于发起 HTTP 请求,通常同步地等待服务器响应。如果你想要实现异步操作,即 PHP 程序继续执行而无需等待 cURL 请求完成,你可以考虑以下几种方式: 使…

    php 2024年12月17日
  • PHP7带来的好处有哪些

    由于php升级乃头等大事,公司近期才打算升级,所以之前一直只能私下欣赏php7带来的快感 PHP7带来的好处 是的,性能上的大幅度提升,可以省机器,可以省钱。 PHP7带来的新东西…

    2025年1月1日
  • php7和php5的区别是什么

    php有什么用 php是一个嵌套的缩写名称,是英文超级文本预处理语言,它的语法混合了C、Java、Perl以及php自创新的语法,主要用来做网站开发,许多小型网站都用php开发,因…

    php 2025年1月1日
  • php7连接mysql数据库的方法

    php有什么用 php是一个嵌套的缩写名称,指的是英文超级文本预处理语言(php:Hypertext Preprocessor)的缩写,它的语法混合了C、Java、Perl以及ph…

    php 2025年1月1日
  • php7怎么安装event扩展

    php7下安装event扩展 有效安排I/O,时间和信号的扩展 使用可用于特定平台的最佳I/O通知机制的事件,是PHP基础设施的libevent端口。 下载地址:http://pe…

    php 2025年1月1日
  • PHP7.1新功能之Nullable Type怎么用

    具体如下: 在 PHP5 时代,PHP 的参数已经支持 type hint(除了基本类型),想必大家应该很熟悉;后来 PHP7 时代来临,PHP 也可以指定返回值的类型(以及基本类…

    php 2025年1月1日
  • php7安装mysql扩展的方法是怎样的

    本文操作环境:Windows7系统、PHP7、Dell G3电脑。 php7怎么安装mysql扩展? PHP7全面删除Mysql扩展支持,原本的mysql_*系列函数将在mysql…

    php 2025年1月1日
  • 什么是HHVM和PHP7以及PHP7和HHVM应该怎么选择

      PHP是最流行的用于web开发的脚本语言之一。PHP的最新版本,PHP7在性能上做了很大的优化。不过,PHP还有一个竞争对手HHVM(HipHopvirtualMachine)…

    php 2025年1月1日

发表回复

登录后才能评论