我已经启动并运行了 apache2,它确实可以正常工作,我将服务器用于其他服务。我想运行一项需要 apache2 支持 php 的服务。我按照安装说明安装了要求的各种软件包,但出现以下错误:
sudo a2enmod php
ERROR: Module php does not exist!
下面是我安装的与 php 相关的软件包的列表:
libapache2-mod-php/bionic,now 1:7.2+60ubuntu1 all [installed]
libapache2-mod-php7.2/bionic-updates,bionic-security,now 7.2.24-0ubuntu0.18.04.3 amd64 [installed,automatic]
php/bionic,now 1:7.2+60ubuntu1 all [installed]
php-common/bionic,now 1:60ubuntu1 all [installed,automatic]
php7.2/bionic-updates,bionic-security,now 7.2.24-0ubuntu0.18.04.3 all [installed,automatic]
php7.2-cli/bionic-updates,bionic-security,now 7.2.24-0ubuntu0.18.04.3 amd64 [installed,automatic]
php7.2-common/bionic-updates,bionic-security,now 7.2.24-0ubuntu0.18.04.3 amd64 [installed,automatic]
php7.2-json/bionic-updates,bionic-security,now 7.2.24-0ubuntu0.18.04.3 amd64 [installed,automatic]
php7.2-opcache/bionic-updates,bionic-security,now 7.2.24-0ubuntu0.18.04.3 amd64 [installed,automatic]
php7.2-readline/bionic-updates,bionic-security,now 7.2.24-0ubuntu0.18.04.3 amd64 [installed,automatic]
我是不是遗漏了什么?我以前对早期版本的 Ubuntu Server 做过这个,我记得每次都是很麻烦。
如果需要更多信息,请告诉我,并提前感谢您的任何帮助或建议。
干杯!!
答案1
看起来您正在尝试使用mod_php
,它被认为是相当过时的(它非常耗费资源)而不是更现代的php-fpm
。
如果您愿意继续这样做,那么您可能没有正确使用模组名称。您可以使用以下命令列出可用的模组:
ls /etc/apache2/mods-available
我猜你会在 mods 列表中找到你想要的那个php7.2
,而不是php
。在这种情况下,你需要的命令是:
sudo a2enmod php7.2
更好、更现代、更快速、更省钱的安装方式php
是使用php-fpm
。它通常是在 Apache 中运行 PHP 的推荐方法。
sudo apt remove libapache2-mod-php
sudo apt install php-fpm
然后:
a2enmod proxy_fcgi
您可以在 Jim Salter 的精彩博客上看到更多内容这里。