10

我已经看到这个问题被回答了很多次,但大多数都没有回答,或者告诉提问者提出这个问题:

<?php phpinfo() ?>

在测试文件中。显然,如果这产生了预期的结果,我就不会在这里。相反,我收到 404 错误。

我在亚马逊上使用 ubuntu 12.04 服务器。安装了 Apache,安装了 php5,并重新启动了 apache。我遵循以下顺序:

sudo apt-get install apache2

sudo apt-get install php5

sudo apt-get install libapache2-mod-php5

sudo /etc/init.d/apache2 restart

现在,前三个命令中的每一个都给我“apache2 已经是最新版本。0 已升级,0 新安装,0 删除,3 未升级”显然,将 apache2 替换为 php5 并将 libapache2-mod-php5 替换为其他两个。

这是告诉我它已安装的可靠方法,对吗?好吧,当我使用命令“top”时,php 不是正在运行的服务之一,这告诉我它没有运行,对吗?

导航到 IP 地址给了我亚马逊的“它有效!” 页面,但导航到服务器上的任何其他页面会产生 404 错误。

任何帮助深表感谢。

4

6 回答 6

12

查看 apache 配置文件。对于 Debian/Ubuntu 他们在/etc/apache2/sites-available/RedHat/CentOS/etc 他们在/etc/httpd/conf.d/. 如果您刚刚安装它,其中的文件可能名为default.

确保那里的配置文件指向正确的文件夹,然后确保您的脚本位于那里。

您在这些文件中查找的行是DocumentRoot /path/to/directory.

对于空白安装,您的 php 文件很可能需要位于/var/www/.

您还需要做的是找到您的 php.ini 文件,该文件可能位于/etc/php5/apache2/php.ini/etc/php.ini并找到条目display_errors并将其切换到On.

于 2013-08-06T16:59:55.760 回答
8

一个大问题是 PHP 默认在用户主目录中被禁用,所以如果你从 ~/public_html 进行测试,它就不起作用。检查 /etc/apache2/mods-enabled/php5.conf

# Running PHP scripts in user directories is disabled by default
# 
# To re-enable PHP in user directories comment the following lines
# (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
# prevents .htaccess files from disabling it.
#<IfModule mod_userdir.c>
#    <Directory /home/*/public_html>
#        php_admin_flag engine Off
#    </Directory>
#</IfModule>

除了在 Ubuntu 中安装非常简单,因为您过去必须放入 httpd.conf 的所有内容都是自动完成的。

于 2016-03-23T00:51:47.370 回答
1

要回答最初的问题“为什么 php 没有运行? ”您的浏览器要求的文件必须具有 .php 扩展名。如果文件具有 .html 扩展名,则不会执行 php。

于 2019-04-15T01:57:22.207 回答
0

在浏览器中输入 localhost:80//test5.php [其中 80 是您的端口,test.php 是您的文件名] 而不是 c://xampp/htdocs/test.php。

于 2016-05-03T17:30:55.323 回答
-1

在 Ubuntu 14.04 下安装 Apache 和 PHP 时,我需要通过发出 a2enmod php5-cgi 来专门启用 php 配置

于 2014-07-16T19:37:12.927 回答
-6

您需要将分号添加到所有 php 内容(如 echo、函数等)的末尾。

更改<?php phpinfo() ?><?php phpinfo(); ?>

如果这不起作用,请使用 php 的函数 ini_set 来显示错误:ini_set('display_errors', 1);

于 2013-08-06T16:59:33.883 回答