我刚刚重新安装了 Apache 和 PHP5,但是当我访问我的文档根目录时,它只会下载一个“下载”文件。当我尝试documentroot /index.php 时,它只会下载 PHP 文件。
我安装了 PHP,但 Apache 似乎不想执行它。
人们建议在我的httpd.conf文件中添加一个“加载模块”行,但我没有那个文件。
gir*_*ngo 126
打字:
sudo apt-get install apache2 php5 libapache2-mod-php5
Run Code Online (Sandbox Code Playgroud)
将安装您需要的一切,并将启动支持 PHP 的 apache 服务器。
要验证 php 模块是否已加载,请键入:
a2query -m php5
Run Code Online (Sandbox Code Playgroud)
如果未启用,则加载:
sudo a2enmod php5
Run Code Online (Sandbox Code Playgroud)
并重新启动apache:
sudo service apache2 restart
Run Code Online (Sandbox Code Playgroud)
感谢评论,我更新了 php7.x 的答案。
安装:
sudo apt-get install apache2 php7.x libapache2-mod-php7.x
Run Code Online (Sandbox Code Playgroud)
核实:
a2query -m php7.x
Run Code Online (Sandbox Code Playgroud)
加载:
sudo a2enmod php7.x
Run Code Online (Sandbox Code Playgroud)
重启阿帕奇:
sudo service apache2 restart
Run Code Online (Sandbox Code Playgroud)
dal*_*y42 17
Ubuntu 16.04已迁移到 PHP 7。这个单一的命令将为您完成这项工作:
sudo apt-get install apache2 php libapache2-mod-php
Run Code Online (Sandbox Code Playgroud)
这libapache2-mod-php是一个安装 libapache2-mod-php7 的元包。
小智 7
我遇到了同样的问题,但我的特殊问题是独一无二的。我在用户目录中运行(使用 mod_userdir) - 这意味着您可以使用http://host.name.com/~username/example.php访问我的网页
默认情况下,在我的 mods-enabled 目录中的 php*.conf 中禁用此功能。我必须修改它才能将其注释掉:
#<IfModule mod_userdir.c>
# <Directory /home/*/public_html>
# php_admin_flag engine Off
# </Directory>
#</IfModule>
Run Code Online (Sandbox Code Playgroud)
弄清楚这是一个痛苦..
好吧,我怀疑是否有人遇到过这个特殊的问题,但我想我应该添加它,因为它对我来说是令人困惑的,也许有人正在做同样的事情。我想除了我之外没有人再使用 ~/user 了。
当然,在此之后你必须重新启动 apache。
小智 6
对于在未来近 6 年后(甚至更久!)从 Google 找到这篇文章的人,您可能会在使用该UserDir模块的同时使用 Apache 2 和 PHP 7 遇到此问题。
导致此问题的另一个可能原因可能是您尝试从模块的“用户目录”中运行脚本UserDir。默认情况下禁用在用户目录中运行 PHP 脚本。如果脚本位于public_html您的主文件夹中的目录中并且您尝试从http://localhost/~your_username.
要解决此问题,请打开/etc/apache2/mods-enabled/php7.2.conf. 您必须注释或删除底部的标签块:
<IfModule mod_userdir.c>
<Directory /home/*/public_html>
php_admin_flag engine Off
</Directory>
</IfModule>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
322841 次 |
| 最近记录: |