如何从php5升级到php7

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从php5升级到php7相关的知识,希望对你有一定的参考价值。

#安装ppa

sudo apt-get install python-software-properties software-properties-common

sudo add-apt-repository ppa:ondrej/php-7.0

sudo apt-get update

#删除php5

sudo apt-get purge php5-fpm php5-mysql php5-common

sudo apt-get --purge autoremove

#安装php7

sudo apt-get install php7.0-fpm php7.0-mysql php7.0-common php7.0-curl

#把nginx *.conf 里的fastcgi_pass配置改成:
fastcgi_pass unix:/run/php/php7.0-fpm.sock;

#重启nginx

sudo service nginx reload

#完成.
参考技术A 在PHP官方进行下载安装即可

在 LAMPP for Ubuntu 中将 PHP 从 5.5 升级到 5.6

【中文标题】在 LAMPP for Ubuntu 中将 PHP 从 5.5 升级到 5.6【英文标题】:Upgrade PHP to 5.6 from 5.5 in LAMPP for Ubuntu 【发布时间】:2016-05-07 02:05:24 【问题描述】:

Ubuntu 版本:14.04

/opt/lampp 下有 PHP5.5 的现有 LAMPP 安装

我只需要更新到 PHP 5.6。 遵循以下步骤,但在 make install 步骤中失败

cd ~/downloads
wget http://ar2.php.net/distributions/php-5.6.17.tar.gz
tar -xzf php-5.6.17.tar.gz
sudo mv php-5.6.17 /usr/src/php-5.6.17

/opt/lampp/bin/php --info | grep "配置命令"

./configure  --prefix=/opt/lampp --with-apxs2=/opt/lampp/bin/apxs --with-config-file-path=/opt/lampp/etc --with-mysql=mysqlnd --enable-inline-optimization --disable-debug --enable-bcmath --enable-calendar --enable-ctype --enable-ftp --enable-gd-native-ttf --enable-magic-quotes --enable-shmop --disable-sigchild --enable-sysvsem --enable-sysvshm --enable-wddx --with-gdbm=/opt/lampp --with-jpeg-dir=/opt/lampp --with-png-dir=/opt/lampp --with-freetype-dir=/opt/lampp --with-zlib=yes --with-zlib-dir=/opt/lampp --with-openssl=/opt/lampp --with-xsl=/opt/lampp --with-ldap=/opt/lampp --with-gd --with-imap=/bitnami/xamppunixinstallerstackDev-linux-x64/src/imap-2007e --with-imap-ssl --with-gettext=/opt/lampp --with-mssql=/opt/lampp --with-sybase-ct=/opt/lampp --with-mysql-sock=/opt/lampp/var/mysql/mysql.sock --with-oci8=shared,instantclient,/opt/lampp/lib/instantclient --with-mcrypt=/opt/lampp --with-mhash=/opt/lampp --enable-sockets --enable-mbstring=all --with-curl=/opt/lampp --enable-mbregex --enable-zend-multibyte --enable-exif --with-bz2=/opt/lampp --with-sqlite=shared,/opt/lampp --with-sqlite3=/opt/lampp --with-libxml-dir=/opt/lampp --enable-soap --enable-pcntl --with-mysqli=mysqlnd --with-pgsql=shared,/opt/lampp/ --with-iconv=/opt/lampp --with-pdo-mysql=mysqlnd --with-pdo-pgsql=/opt/lampp/postgresql --with-pdo-sqlite --with-icu-dir=/opt/lampp --enable-fileinfo --enable-phar --enable-zip --enable-intl

那么这就完成了——

./configure [ whole above command ]
make 

运行 make install 会出错 -

Installing PHP SAPI module:       apache2handler
apxs:Error: Command failed with rc=65536
make: *** [install-sapi] Error 1

【问题讨论】:

【参考方案1】:
$ ./configure --prefix=/home/username/php --with-apxs2=/usr/bin/apxs2
$ mkdir /home/username/php/etc/apache2/mods-available
$ make
$ INSTALL_ROOT=/home/username/php PATH=/usr/sbin:$PATH make install

1) --prefix 是在您的主目录下安装大部分 PHP 所必需的。

2) --with-apxs2 是告诉 PHP 在哪里找到 apxs2 所必需的。出于某种原因(可能存在 --prefix),即使 apxs2 在您的 $PATH 中,您也必须指出这一点。

3) mkdir 是创建 apxs2 将放置 PHP 模块 .load 文件的目录所必需的。

4) INSTALL_ROOT 是一个未记录的变量,它会覆盖某些由于某种原因不符合 --prefix 的安装位置。

5) 在 a2enmod 不在普通用户的 $PATH 中的系统上,需要将 /usr/sbin 添加到 $PATH。

http://blog.thecybershadow.net/2013/01/25/installing-php-and-apache-module-under-home/

【讨论】:

我试过了,但给出了同样的错误 - INSTALL_ROOT=/opt/lampp PATH=/usr/sbin:$PATH make install 应该 intsall_root 是 /opt/lampp/php 还是您的 PHP 所在的任何位置?基本上应该匹配 --prefix 目录。 我按照下面的说明从指向 /opt/lampp 的 php -info 获取前缀:***.com/questions/8740817/… 请添加你得到的错误和配置文件。

以上是关于如何从php5升级到php7的主要内容,如果未能解决你的问题,请参考以下文章

如何从php5升级到php7

如何升级php版本---从php5.5.12 升级php7.1.5 wamp实践

从php5.2升级到php7.1是函数的参数问题

wdcp升级php5.8到php7.1.12后不能访问的处理方法

如何升级php版本

wdcp升级php5.8到php7.1.12后安装swoole