sudo a2enmod php5.6,php -v仍然显示php 7.01冲突 [英] sudo a2enmod php5.6, php -v still shows php 7.01 conflict

查看:84
本文介绍了sudo a2enmod php5.6,php -v仍然显示php 7.01冲突的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试切换php版本,得到以下响应.我尝试卸除mpm_prefork和mpm_worker仍然没有乐趣,请提出任何想法.

在Ubuntu 16.04上

  sudo a2enmod php5.6考虑对php5.6的依赖关系mpm_prefork:考虑到mpm_prefork的冲突mpm_event:考虑mpm_prefork的冲突mpm_worker:启用模块mpm_prefork.考虑到php5.6与php5.6的冲突:启用模块 php5.6.要激活新配置,您需要运行:服务apache2重新启动 

解决方案

您的命令看起来正确.在测试之前,您是否重新启动过Apache?

  sudo服务apache2重新启动 

php5.6 ://github.com/oerdnj"rel =" nofollow noreferrer>OndřejSurý只能通过以下方式启用:

  sudo a2dismod php7.0须藤a2dismod php7.1须藤a2dismod php7.2须藤a2dismod php7.3须藤a2dismod php7.4须藤a2enmod php5.6sudo update-alternatives --set php/usr/bin/php5.6sudo服务apache2重新启动 

我发现此设置与除PREFORK之外的任何其他MPM模块不兼容.您必须确保在启用php5.6 mod之前先禁用所有其他MPM模块.

如果无法启用该mod,则可能不得不尝试禁用其他MPM.

  sudo a2dismod mpm_prefork须藤a2dismod mpm_worker须藤a2dismod mpm_event 

然后尝试再次启用该mod,因为它会自动启用正确的MPM.

  $ sudo a2enmod php5.6考虑对php5.6的依赖关系mpm_prefork:考虑到mpm_prefork的冲突mpm_event:考虑mpm_prefork的冲突mpm_worker:模块mpm_prefork已启用考虑到php5.6与php5.6的冲突:启用模块php5.6.要激活新配置,您需要运行:服务apache2重新启动 

仅供参考,我喜欢将这些命令放入我的'.bash_aliases'中,以便在进行DEV工作时总是很方便.

 #别名-PHP别名php.info ='php -i'别名php5.6 ='sudo a2dismod php7.0&&须藤a2dismod php7.1&&须藤a2dismod php7.2&&须藤a2dismod php7.3&&须藤a2dismod php7.4&&须藤a2enmod php5.6&&sudo update-alternatives --set php/usr/bin/php5.6&&sudo服务apache2重新启动"别名php7.0 ='sudo a2dismod php5.6&&须藤a2dismod php7.1&&须藤a2dismod php7.2&&须藤a2dismod php7.3&&须藤a2dismod php7.4&&须藤a2enmod php7.0&&须藤更新替代品 --set php/usr/bin/php7.0 &&sudo服务apache2重新启动"别名php7.1 ='sudo a2dismod php5.6&&须藤a2dismod php7.0&&须藤a2dismod php7.2&&须藤a2dismod php7.3&&须藤a2dismod php7.4&&须藤a2enmod php7.1&&sudo update-alternatives --set php/usr/bin/php7.1&&sudo服务apache2重新启动"别名php7.2 ='sudo a2dismod php5.6&&须藤a2dismod php7.0&&须藤a2dismod php7.1&&须藤a2dismod php7.3&&须藤a2dismod php7.4&&须藤a2enmod php7.2&&sudo update-alternatives --set php/usr/bin/php7.2&&sudo服务apache2重新启动"别名php7.3 ='sudo a2dismod php5.6&&须藤a2dismod php7.0&&须藤a2dismod php7.1&&须藤a2dismod php7.2&&须藤a2dismod php7.4&&须藤a2enmod php7.3&&sudo update-alternatives --set php/usr/bin/php7.3&&sudo服务apache2重新启动"别名php7.4 ='sudo a2dismod php5.6&&须藤a2dismod php7.0&&须藤a2dismod php7.1&&须藤a2dismod php7.2&&须藤a2dismod php7.3&&须藤a2enmod php7.4&&sudo update-alternatives --set php/usr/bin/php7.4&&sudo服务apache2重新启动" 

GIST: https://gist.github.com/djravine/376​​e81a018ba2b980750a5578deb3935

I'm trying to switch php versions, get following response. I tried dismounting mpm_prefork and mpm_worker still no joy, any ideas please.

on Ubuntu 16.04

sudo a2enmod php5.6

 Considering dependency mpm_prefork for php5.6:
 Considering conflict mpm_event for mpm_prefork:
 Considering conflict mpm_worker for mpm_prefork:
 Enabling module mpm_prefork.
 Considering conflict php5 for php5.6:
 Enabling module php5.6.
 To activate the new configuration, you need to run:
 service apache2 restart

解决方案

Your commands looks correct. Did you restart apache before testing?

sudo service apache2 restart

The PHP module php5.6 made by Ondřej Surý can only be enabled by:

sudo a2dismod php7.0
sudo a2dismod php7.1
sudo a2dismod php7.2
sudo a2dismod php7.3
sudo a2dismod php7.4
sudo a2enmod php5.6
sudo update-alternatives --set php /usr/bin/php5.6
sudo service apache2 restart

I have found that this setup isn't compatible with any other MPM modules other that PREFORK. You have to make sure you disable ALL other MPM modules first, before enabling the php5.6 mod.

If the mod won't enable you might have to try to disable the other MPM's.

sudo a2dismod mpm_prefork
sudo a2dismod mpm_worker
sudo a2dismod mpm_event

Then try to enable the mod again as it should auto enable the correct MPM.

$ sudo a2enmod php5.6
Considering dependency mpm_prefork for php5.6:
Considering conflict mpm_event for mpm_prefork:
Considering conflict mpm_worker for mpm_prefork:
Module mpm_prefork already enabled
Considering conflict php5 for php5.6:
Enabling module php5.6.
To activate the new configuration, you need to run:
  service apache2 restart

FYI, I like to put these commands into my '.bash_aliases' so I always have them handy for DEV work.

# Aliases - PHP
alias php.info='php -i'
alias php5.6='sudo a2dismod php7.0 && sudo a2dismod php7.1 && sudo a2dismod php7.2 && sudo a2dismod php7.3 && sudo a2dismod php7.4 && sudo a2enmod php5.6 && sudo update-alternatives --set php /usr/bin/php5.6 && sudo service apache2 restart'
alias php7.0='sudo a2dismod php5.6 && sudo a2dismod php7.1 && sudo a2dismod php7.2 && sudo a2dismod php7.3 && sudo a2dismod php7.4 && sudo a2enmod php7.0 && sudo update-alternatives --set php /usr/bin/php7.0 && sudo service apache2 restart'
alias php7.1='sudo a2dismod php5.6 && sudo a2dismod php7.0 && sudo a2dismod php7.2 && sudo a2dismod php7.3 && sudo a2dismod php7.4 && sudo a2enmod php7.1 && sudo update-alternatives --set php /usr/bin/php7.1 && sudo service apache2 restart'
alias php7.2='sudo a2dismod php5.6 && sudo a2dismod php7.0 && sudo a2dismod php7.1 && sudo a2dismod php7.3 && sudo a2dismod php7.4 && sudo a2enmod php7.2 && sudo update-alternatives --set php /usr/bin/php7.2 && sudo service apache2 restart'
alias php7.3='sudo a2dismod php5.6 && sudo a2dismod php7.0 && sudo a2dismod php7.1 && sudo a2dismod php7.2 && sudo a2dismod php7.4 && sudo a2enmod php7.3 && sudo update-alternatives --set php /usr/bin/php7.3 && sudo service apache2 restart'
alias php7.4='sudo a2dismod php5.6 && sudo a2dismod php7.0 && sudo a2dismod php7.1 && sudo a2dismod php7.2 && sudo a2dismod php7.3 && sudo a2enmod php7.4 && sudo update-alternatives --set php /usr/bin/php7.4 && sudo service apache2 restart'

GIST: https://gist.github.com/djravine/376e81a018ba2b980750a5578deb3935

这篇关于sudo a2enmod php5.6,php -v仍然显示php 7.01冲突的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆