ubuntu多版本php切换
最近想要学习一下swoole,虽然机子上装的是php7.0,但是考虑到一些有关swoole的*要依赖更高版本(例如swooletw),所以就在机子上升级了php7.2,下面是在网上搜索或者自己折腾出来的一些笔记。
版本升级操作(直接从7.0升级到7.2):
1 2 3 4 5 6 7 8 9 10 |
|
有需要可以安装swoole:
1 |
|
这里建议直接用pecl install swoole安装,一步到位,如果手动编译,貌似会出现各种因为版本对应不上的问题。
切换版本:
1 2 3 4 5 6 |
|
如果出现error: module php7.0 does not exist! ,执行sudo apt-get install libapache2-mod-php7.0再执行上面操作
这时候在浏览器查看phpinfo()应该就可以看到7.2版本了,但是命令行cli那里还是7.0,需要执行下面操作:
1 2 |
|
这样在命令行执行php -v也能看到7.2版本了
如果有两个版本,其实可以直接用sudo service php7.0-fpm stop/restart来进行切换,当然这只能切换php-fpm,也就是web端,命令行cli端还是不能切换的
1 |
|
升级版本后,我还折腾了php7.1,然后第二天回来启动电脑就发现所以laravel项目都报这样的错,网上搜索后知道是版本问题,但是看了下php -v没问题就是7.2,这时候打算重启php报错,以下的报错就是问题所在了:
1 |
|
大致就是端口被占用,然后php fastcgi程序启动失败
解决方法:
ps aux|grep php查看所有php-fpm进程,发现有个php7.1-fpm进程,拿到进程id,再kill掉就能够重启了。
网上查询的解决方法是killall php-pfm这个命令,执行后只有显示 php-pfm:没有发现操作,这种方法没用,最后使用上面这种查询进程,然后根据进程id杀死进程的方法
上一篇: 把字符串转换成数据库SQL语句格式
下一篇: JAVA中实现多线程的四种方式
推荐阅读
-
ubuntu下安装Python多版本的方法及注意事项
-
CentOS下与Apache连接的PHP多版本共存方案实现详解,_PHP教程
-
CentOS下与Apache连接的PHP多版本共存方案实现详解
-
php实例:ubuntu自动切换壁纸xml文件
-
ubuntu 16.04下python版本切换的方法
-
ubuntu 16.04下python版本切换的方法
-
lnmp安装多版本PHP共存的方法详解
-
Ubuntu18.04下python版本完美切换的解决方法
-
CentOS 7.x编译安装Nginx1.10.3+MySQL5.7.16+PHP5.2 5.3 5.4 5.5 5.6 7.0 7.1多版本全能环境
-
php实现多城市切换特效