首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >sudo a2enmod php5.6,php -v仍然显示php 7.01冲突

sudo a2enmod php5.6,php -v仍然显示php 7.01冲突
EN

Stack Overflow用户
提问于 2017-02-28 19:01:12
回答 4查看 67.3K关注 0票数 21

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

在Ubuntu 16.04上

代码语言:javascript
复制
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
EN

回答 4

Stack Overflow用户

发布于 2017-03-07 15:09:12

您的命令看起来是正确的。你在测试之前重启apache了吗?

代码语言:javascript
复制
sudo service apache2 restart

Ondřej Surý制作的PHP模块php5.6只能通过以下方式启用:

代码语言:javascript
复制
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

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

如果mod不启用,您可能必须尝试禁用其他MPM。

代码语言:javascript
复制
sudo a2dismod mpm_prefork
sudo a2dismod mpm_worker
sudo a2dismod mpm_event

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

代码语言:javascript
复制
$ 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

仅供参考,我喜欢把这些命令放到我的'.bash_aliases‘中,所以我总是把它们放在开发工作的手边。

代码语言:javascript
复制
# 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'

要点:https://gist.github.com/djravine/376e81a018ba2b980750a5578deb3935

票数 57
EN

Stack Overflow用户

发布于 2017-07-13 14:06:08

要将php7配置为与您的服务器一起运行,您需要进行一些配置: 1.确保删除任何php/php5的痕迹打开一个终端并:

代码语言:javascript
复制
cd /etc/apache2/mods-enabled
ls -la

输出不应包含任何php5.conf或php5.load,但如果包含,请执行以下操作:

代码语言:javascript
复制
# this is the proper way of disabling modules
sudo a2dismod php5

# run this only if the above command didn't remove the php5 sym-links
sudo rm php5.load
sudo rm php5.con

现在添加php7.0.conf和php7.0.load:

代码语言:javascript
复制
# this is the proper way of enabling modules
sudo a2enmod php7.0

# run this only if the above command didn't create the php7.0 sym-links
sudo ln -s php7.0.conf ../mods-available/php7.0.conf
sudo ln -s php7.0.load ../mods-available/php7.0.load

ls -la php*的输出应如下所示:

代码语言:javascript
复制
lrwxrwxrwx 1 root root 29 Apr 15 03:55 php7.0.conf -> ../mods-available/php7.0.conf
lrwxrwxrwx 1 root root 29 Apr 15 03:55 php7.0.load -> ../mods-available/php7.0.load

处理完模块之后,我们现在转到/etc/apache2/conf启用的目录。通过sudo rm在此处删除php/php5的任何痕迹

然后,如果需要,请执行以下操作:

代码语言:javascript
复制
# the proper way of enabling configs
sudo a2enconf php7.0-cgi
sudo a2enconf php7.0-fpm

# do those commands only if the above didn't work out
sudo ln -s php7.0-cgi.conf ../conf-available/php7.0-cgi.conf
sudo ln -s php7.0-fpm.conf ../conf-available/php7.0-fpm.conf

ls -la php*的输出应如下所示:

代码语言:javascript
复制
lrwxrwxrwx 1 root root 33 Apr 21 17:00 php7.0-cgi.conf -> ../conf-available/php7.0-cgi.conf
lrwxrwxrwx 1 root root 33 Apr 21 17:01 php7.0-fpm.conf -> ../conf-available/php7.0

然后重新启动apache。

我刚刚通过以下步骤解决了这个问题。

票数 7
EN

Stack Overflow用户

发布于 2021-07-25 15:05:11

如果sudo a2dismod php8.0没有禁用php8.0模块,并且您无法将php模块切换到php7.4,那么您可以尝试执行以下操作:

代码语言:javascript
复制
sudo a2disconf php8.0-fpm
sudo a2enmod php7.4
sudo systemctl reload apache2
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42506956

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档