无PHP处理(Ubuntu/Apache2)

无PHP处理(Ubuntu/Apache2),php,ubuntu,amazon-ec2,apache2,Php,Ubuntu,Amazon Ec2,Apache2,编辑 [Sun Sep 01 18:37:40 2013] [error] [client MY IP ADDRESS] PHP Warning: Unknown: failed to open stream: Permission denied in Unknown on line 0 [Sun Sep 01 18:37:40 2013] [error] [client MY IP ADDRESS] PHP Fatal error: Unknown: Failed opening requ

编辑

[Sun Sep 01 18:37:40 2013] [error] [client MY IP ADDRESS] PHP Warning:  Unknown: failed to open stream: Permission denied in Unknown on line 0
[Sun Sep 01 18:37:40 2013] [error] [client MY IP ADDRESS] PHP Fatal error:  Unknown: Failed opening required '/var/www/test2.php' (include_path='.:/usr/share/php:/usr/share/pe$
这是我在Apache2 error.log中的错误


我已经设置了一个EC2实例(Ubuntu 12.x)

我已经执行了所有更新,安装了apache2、php5和libapache2-mod-php5

对于.html,Web服务器工作正常,我制作了一个测试页面并尝试了这个,它工作正常

当我尝试将PHP添加到html文件时,并没有对PHP进行任何处理。例如:

<?php
echo "My first PHP script!";
?>
<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>

或(包括html)


如果我在html部分中编写一些文本,它将被完美地显示出来

值得注意的是,没有出现错误,我只是得到一个空白屏幕或只有html元素


我真的很困惑这里到底出了什么问题。大约一个月前,我使用了一个不同的实例,在相同的安装之后,php工作得很好,没有编辑任何配置文件来启动和运行它

我可以提供日志和东西,如果要求,但我不确定哪些日志将是最好的提供。我不想设置一个新的实例,因为我花了几个小时在这个实例上排序权限、用户、FTP等


提前感谢

在您的httpd.conf文件中,应该有一条将php文件传递给mod_php的指令。例如:

<?php
echo "My first PHP script!";
?>
<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>

SetHandler应用程序/x-httpd-php

所有文件应设置为使用644权限,目录应设置为使用755权限。此外,还应将用户正确设置为www数据,否则建议的权限可能不起作用

find /var/www -type d | sudo xargs chmod 755
find /var/www -type f | sudo xargs chmod 644
sudo chown -R www-data /var/www

除非您添加php处理程序来处理
.html
文件,否则它将只处理
.php
文件,将
.html
文件的扩展名更改为
.php
,然后再次测试。是否检查了
php.load
php.conf
是否处于
/etc/apache2/mods启用状态
@PatrickEvans我将文件类型更改为.php,但仍然得到一个空白页,没有错误。@IvanHušnjak PHP5.conf和PHP5.load都在mods enabled和mods available目录中找到。所以我不认为是这个。@Austin我设置为755,这就成功了。。。是否有一种方法可以自动更新/var/www中的权限?我很确定,在我以前的例子中,我从来没有超过一次使用chmod,但现在当我通过FTP发送东西时,它们都会以错误的priv结束。我所能想到的是,我用于FTP的用户没有正确的权限,因此用户写入的文件总是无法正常工作。。。非常感谢。