我已经多次回答过这个问题了,但是大多数问题都没有得到答复,也没有告诉提问者这样做:
<?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地址,这给了我亚马逊的“It Works!”页面,但导航到服务器上的任何其他页面会产生404错误。
非常感谢任何帮助。
答案 0 :(得分:12)
查看apache配置文件。对于Debian / Ubuntu,他们在/etc/apache2/sites-available/
中用于RedHat / CentOS /等,他们在/etc/httpd/conf.d/
。如果您刚安装它,那里的文件可能名为default
。
确保其中的配置文件指向正确的文件夹,然后确保您的脚本位于那里。
您在这些文件中寻找的行是DocumentRoot /path/to/directory
。
对于空白安装,您的php文件很可能需要位于/var/www/
。
您还需要做的是找到您的php.ini文件,可能位于/etc/php5/apache2/php.ini
或/etc/php.ini
,找到display_errors
的条目并将其切换为{{1 }}
答案 1 :(得分:6)
一个很大的问题是默认情况下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的所有内容都是自动完成的。
答案 2 :(得分:1)
回答原始问题“ 为什么php无法运行?” 您的浏览器要求的文件必须具有.php扩展名。 如果文件扩展名为.html,则不会执行php。
答案 3 :(得分:0)
键入浏览器localhost:80 // test5.php [其中80是您的端口,test.php是您的文件名]而不是c://xampp/htdocs/test.php。
答案 4 :(得分:-1)
在Ubuntu 14.04下安装Apache和PHP时,我需要通过发出a2enmod php5-cgi来专门启用php配置
答案 5 :(得分:-6)
你需要在所有php之类的内容中添加分号,如echo,function等。
将<?php phpinfo() ?>
更改为<?php phpinfo(); ?>
如果这不起作用,请使用php的函数ini_set来显示错误:ini_set('display_errors', 1);