如何在 apache 中启用 php7 模块?

Posted

技术标签:

【中文标题】如何在 apache 中启用 php7 模块?【英文标题】:How to enable php7 module in apache? 【发布时间】:2016-06-29 13:50:57 【问题描述】:

当我尝试运行 a2enmod php7.0 时 - 我收到消息“考虑到 php7.0 的冲突 php5”。

重启 apache 后 - apache 无法启动。

如何解决?

也许一些已经启用的模块链接到 php5?

参数: 乌班图威利, 阿帕奇 2.4.18, PHP 7.0.4(仅适用于 cli)

【问题讨论】:

是的,您需要删除并清除 php5 以避免冲突 【参考方案1】:

首先,禁用php5 模块:

a2dismod php5

然后,启用php7 模块:

a2enmod php7.0

接下来,重新加载/重启 Apache 服务:

service apache2 restart

2018 年 9 月 4 日更新

wrt the comment,您需要指定确切安装的php-7.x 版本。

【讨论】:

是的 - 这是一个很好的解决方案。而且我试过了...但是我没有php5模块,因为我删除了所有带有php5的包。在“a2enmod php7.0”之后,我无法启动我的 apache。 @YanDatsyuk 运行此命令sudo apachectl -t。看看有没有语法错误。 确保您在启用 php.ini 时提供了正确的版本号。即a2enmod php7.1 用于php 7.1 版和a2enmod php7.2 用于php 7.2 版。否则,您可能会出现Cannot load /usr/lib/apache2/modules/libphp7.0.so 之类的错误,并且无法重新启动 apache 服务器。 两年前曾经只有 7.0 @JacobNelson 我会在您的评论中更新回复。 :) 谢谢 毕竟你也可以这样做:systemctl restart apache2【参考方案2】:

我在以下线程上找到了解决方案:https://askubuntu.com/questions/760907/upgrade-to-16-04-php7-not-working-in-browser

我的情况不仅是 php 没有工作,而且 phpmyadmin 我也有 就这样一步一步来

sudo apt install php libapache2-mod-php
sudo apt install php7.0-mbstring
sudo a2dismod mpm_event
sudo a2enmod mpm_prefork
service apache2 restart

然后到:

gksu gedit /etc/apache2/apache2.conf

在最后一行我添加了 Include /etc/phpmyadmin/apache.conf

解决所有问题

马西耶

如果它解决了您的问题,请在原帖中为该解决方案投票。

【讨论】:

我也启动了sudo a2enmod php7.0,然后重启了apache 我的头撞墙好几天了。这修复了我的“Apache 正在运行线程 MPM,但您的 PHP 模块未编译为线程安全”错误。【参考方案3】:

适用于寻找相同问题解决方案的 Windows 用户。我刚刚补充了

LoadModule php7_module "C:/xampp/php/php7apache2_4.dll"

在我的/conf/extra/httpв-xampp.conf

【讨论】:

是的,我知道它可以破坏一些其他模块的依赖关系(虽然我没有体验过它们),但是如果您决定投反对票,请在 cmets 中描述您的问题以供进一步考虑

以上是关于如何在 apache 中启用 php7 模块?的主要内容,如果未能解决你的问题,请参考以下文章

如何检查 apache 中启用的 mod_headers 和 mod_expires 模块

如何使用 DirectAdmin 在 Debian 10 上启用 Brotli?

如何在 PHP 7 中启用 MySQLi 扩展?

如何在 MAC Sierra (MAMP) 上为 PHP7.1 启用 OPCache

安装 PHP 7 后如何安装/启用 intl 和 xsl 扩展

如何启用php的mysql扩展