我正在尝试在我大学的共享主机中安装 MediaWiki。 网址为 http://www.iq.usp.br/mcplwiki。 我已将 MediaWiki 文件放在 Web 文件夹中(我正在使用 WinSCP 访问这些文件夹),因此我应该能够通过访问此 url 来访问并完成安装,对吗?
但是当我这样做时,我收到了包含以下内容的下载文件:
This is the main web entry point for MediaWiki.
*
* If you are reading this in your web browser, your server is probably
* not configured correctly to run PHP applications!
我跟IT服务查了一下PHP版本,版本是5.3.3-7,对于最新的MediaWiki版本来说应该足够了。
你们能帮我吗? 谢谢!
我遇到的问题是
apache2
没有启用PHP模块。
这些是我诊断和解决问题所采取的步骤:
检查您是否有 PHP:
php -v
检查 apache 中是否启用了 PHP 模块:
apachectl -M
如果您没有 PHP 模块,请安装适合您的 PHP 版本的模块:
apt-get install libapache2-mod-phpX.X
重新加载:
service apache2 reload
有几个可能的原因...
检查 PHP 和 Apache 错误文件。事实上,您看到显示的消息往往向我表明,这甚至可能是从您的共享主机帐户运行 PHP 的问题。作为测试,尝试上传一个文件并添加一些简单的内容,例如
<?php
echo("PHP Works");
?>
通过执行此测试,您将能够确认问题是否是配置错误导致 PHP 根本无法工作,或者是否存在某些权限错误导致某些必需的包含内容无法被访问。如果测试文件有效,则检查 PHP 错误日志,如果无效,则 PHP 很可能不会出现任何错误,您需要让 IT 服务检查配置并确认您的特定帐户支持 PHP。
请举例清楚说明上面命令中的x.x是什么
apt-get install libapache2-mod-phpX.X
x.x 是你的 php 版本,你可以通过以下命令获取
php -v
对于像 7.4 这样的版本,命令将是
apt-get install libapache2-mod-php7.4
我在升级我的 php 安装版本后遇到了这个问题。
对于我的情况,我在 /etc/apache2/mods-available 中查找 php 模块名称:
$ sudo ls /etc/apache2/mods-available/php*
/etc/apache2/mods-available/php7.4.conf /etc/apache2/mods-available/php8.2.conf
/etc/apache2/mods-available/php7.4.load /etc/apache2/mods-available/php8.2.load
我启用了最新版本,如下所示:
$ sudo a2enmod php8.2
并重新启动我的 apache2 服务:
$ systemctl restart apache2
然后我在网络浏览器中重新加载主页,并且 php 正确呈现。