apache - PHP没有在apache服务器上运行
问题描述
我是 PHP 新手,对 Apache 比较陌生。对于我的服务器,我使用的是运行 Ubuntu MATE 的树莓派,它(据我所知)只是具有不同桌面环境的 Ubuntu。我安装了 PHP,我提供的文件是 .php 文件,而不是 html。我正在尝试在我的测试页面上执行 PHP 代码,该页面仅在本地提供。我知道我需要编辑 Apache 的配置文件才能运行,但我不知道如何;过去几天我查看的所有各种答案和文章都是针对 Windows 或更旧版本的 Apache。我已经尝试了很多,它们要么没有任何改变,要么在尝试重新启动 Apache 时出错。我正在使用的 PHP 代码如下所示:
<!DOCTYPE html>
<html>
<body>
<?php
echo "Hello!";
?>
</body>
</html>
查看 Firefox 中的检查器,PHP 代码被注释掉了,这清楚地表明它没有被执行。谢谢您的帮助。
解决方案
它可能是,
- 你要么没有安装
libapache2-mod-php7.x
模块 - 或未启用模块。
- 或者您安装了模块但没有重新加载 apache 服务
下面来帮你
# verify whether module activated if not follow below
# if there were no module you will get No module matches php7.x
a2query -m php7.x
# install version of your php example 7.4
sudo apt-get install libapache2-mod-php7.x
# activate module
sudo a2enmod php7.x
# restart or reload apache
sudo service apache2 restart
我的例子
root@ideapad:~# a2query -m php7.4
php7.4 (enabled by site administrator)
# if modules were loaded properly then you will see like below
root@ideapad:~# ls /etc/apache2/mods-enabled/php* -1
/etc/apache2/mods-enabled/php7.4.conf
/etc/apache2/mods-enabled/php7.4.load
推荐阅读
- python - Python 脚本不会在新机器上运行
- python - 如何处理 setup.py 覆盖子包依赖
- vue.js - 如何在插槽中访问子组件的反应数据?
- java - 通过自动化 (API) 检查 Gmail 电子邮件
- javascript - 根据 id 从 DynamoDB 中检索项目
- postgresql - Debezium Kafka Connect 需要重新启动才能使 PostgreSQL cdc 工作
- javascript - JavaScript:如何将 for/of 循环转换为带有变量的普通 for 循环?
- javascript - 用于启用网络工作者的 react-app-rewired 无法构建
- python - 查找链接的 XPath 表达式给出“TypeError: Request url must be str or unicode, got NoneType”
- matlab - 如何从小波中获得时间和频率分辨率?