资讯专栏INFORMATION COLUMN

ubuntu多版本php切换

jollywing / 3086人阅读

摘要:最近想要学习一下,虽然机子上装的是,但是考虑到一些有关的轮子要依赖更高版本例如,所以就在机子上升级了,下面是在网上搜索或者自己折腾出来的一些笔记。

最近想要学习一下swoole,虽然机子上装的是php7.0,但是考虑到一些有关swoole的轮子要依赖更高版本(例如swooletw),所以就在机子上升级了php7.2,下面是在网上搜索或者自己折腾出来的一些笔记。

版本升级操作(直接从7.0升级到7.2):
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get upgrade php
# 拓展升级
sudo apt-get install php7.2-mbstring
sudo apt-get install php7.2-gd
sudo apt-get install php7.2-dom
sudo apt-get install php7.2-mysql
sudo apt-get install php7.2-curl
......

有需要可以安装swoole: https://wiki.swoole.com/wiki/...

这里建议直接用pecl install swoole安装,一步到位,如果手动编译,貌似会出现各种因为版本对应不上的问题。
切换版本:
# 禁用7.0版本
sudo a2dismod php7.0

# 启用7.2版本
sudo a2enmod php7.2

# 重启nginx(或apache)
sudo service nginx restart
如果出现ERROR: Module php7.0 does not exist! ,执行sudo apt-get install libapache2-mod-php7.0再执行上面操作

这时候在浏览器查看phpinfo()应该就可以看到7.2版本了,但是命令行cli那里还是7.0,需要执行下面操作:

# 切换cli
sudo update-alternatives --set php /usr/bin/php7.2

这样在命令行执行php -v也能看到7.2版本了

如果有两个版本,其实可以直接用sudo service php7.0-fpm stop/restart来进行切换,当然这只能切换php-fpm,也就是web端,命令行cli端还是不能切换的
Parse error: syntax error, unexpected "?", expecting variable (T_VARIABLE):

升级版本后,我还折腾了php7.1,然后第二天回来启动电脑就发现所以laravel项目都报这样的错,网上搜索后知道是版本问题,但是看了下php -v没问题就是7.2,这时候打算重启php报错,以下的报错就是问题所在了:
ERROR: unable to bind listening socket for address "127.0.0.1:9001": Address already in use (98)
大致就是端口被占用,然后php fastCGI程序启动失败

解决方法:
ps aux|grep php查看所有php-fpm进程,发现有个php7.1-fpm进程,拿到进程id,再kill掉就能够重启了。

网上查询的解决方法是killall php-pfm这个命令,执行后只有显示 php-pfm:没有发现操作,这种方法没用,最后使用上面这种查询进程,然后根据进程id杀死进程的方法

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/63309.html

相关文章

  • ubuntu版本php切换

    摘要:最近想要学习一下,虽然机子上装的是,但是考虑到一些有关的轮子要依赖更高版本例如,所以就在机子上升级了,下面是在网上搜索或者自己折腾出来的一些笔记。 最近想要学习一下swoole,虽然机子上装的是php7.0,但是考虑到一些有关swoole的轮子要依赖更高版本(例如swooletw),所以就在机子上升级了php7.2,下面是在网上搜索或者自己折腾出来的一些笔记。 版本升级操作(直接从7....

    alexnevsky 评论0 收藏0
  • ubuntu版本php切换

    摘要:最近想要学习一下,虽然机子上装的是,但是考虑到一些有关的轮子要依赖更高版本例如,所以就在机子上升级了,下面是在网上搜索或者自己折腾出来的一些笔记。 最近想要学习一下swoole,虽然机子上装的是php7.0,但是考虑到一些有关swoole的轮子要依赖更高版本(例如swooletw),所以就在机子上升级了php7.2,下面是在网上搜索或者自己折腾出来的一些笔记。 版本升级操作(直接从7....

    ziwenxie 评论0 收藏0
  • Ubuntu 16.04 切换 PHP 版本

    摘要:背景升级都一年了,新版的仓库自带的是而今天突然要对某个老项目进行维护,发现版本太高,某些函数已经被取消了所以查了一下怎么快捷的切换版本,这里做个笔记。 背景 升级 Ubuntu 16.04 都一年了,新版的仓库自带的 PHP 是 7+;而今天突然要对某个老项目进行维护,发现 PHP 版本太高,某些函数已经被取消了;所以查了一下怎么快捷的切换 PHP 版本,这里做个笔记。 详细步骤 安装...

    codecook 评论0 收藏0
  • Ubuntu 16.04 切换 PHP 版本

    摘要:背景升级都一年了,新版的仓库自带的是而今天突然要对某个老项目进行维护,发现版本太高,某些函数已经被取消了所以查了一下怎么快捷的切换版本,这里做个笔记。 背景 升级 Ubuntu 16.04 都一年了,新版的仓库自带的 PHP 是 7+;而今天突然要对某个老项目进行维护,发现 PHP 版本太高,某些函数已经被取消了;所以查了一下怎么快捷的切换 PHP 版本,这里做个笔记。 详细步骤 安装...

    kun_jian 评论0 收藏0
  • Debian 8.x “jessie” 使用 Dotdeb 安装最新版本 LEMP / LNMP

    摘要:而由社区维护,没商业公司那么多杂七杂八的流程,制作维护的仓库,便是其中一个佼佼者,基本上官方发布最新稳定版,这货就会跟上。众所周知,是基于系的,所以使用上完全不成问题,下面我们进入安装步骤吧。 Ubuntu 系统虽好,而且是商业公司 Canonical Ltd 维护,质量是绝对有保障的,但是有一点让我很不爽的地方,就是这系统太激进,出于个人爱好,我推荐使用 Debian 作为生产环境,...

    elliott_hu 评论0 收藏0

发表评论

0条评论

jollywing

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<