403禁止在工作模式下使用php.仅限浏览器中的php文件

首先让我开始说是的,我已经在google和*专门搜索了这个,我找到了很多答案,并尝试了所有.在这一点上,我相信我唯一的资源是自己发布问题,即使情景重复,请尽量善于帮助.

情况非常基本,在Ubuntu桌面10.04上我根据本指南和its spin-off here通过Synaptic和Php5设置了apache.
此时,如果我继续使用命令行并调用php脚本,它可以工作,例如:

  php test.php

输出我的问候世界没有任何问题.但是,如果我去firefox并指向test.php它将显示403错误禁止…

我已将/ var /,/ var / www /和/var/www/test.php的所有权更改为我能想到的每个变量(www-data [apache以此用户身份运行],purefan [我的普通用户],root )它没有任何区别,我也多次更改权限777,0777(只是为了安全),644,755,没有变化.
从CLI我把phpinfo放到一个文件中并添加它here.

如果我没有弄错的话,当Apache调用php解释器时会出现问题,就像我去http://localhost/index.php那样,它显示了apache的默认“It Works!”页面,但如果我将php内容添加到该文件,它只是被忽略,但没有显示错误(也检查错误日志和syslog).

所以,如果你有任何建议让我知道,这不是一个生命或死亡的事情,但真的想建立使用工人而不是prefork.

感谢您的时间

解决方法:

我有完全相同的问题..首先我在虚拟机下成功安装了apache2与worker mpm和php5 with fastcgi ..但是当我在生产主机上尝试它(使用完全相同的过程)时,它给了我禁止的错误.

经过大量的搜索,我终于开始工作了.在这里,您可以找到我为使其工作而采取的步骤:

这些是我安装的软件包,用于获取apm2和mpm-worker& php5 with fastcgi:

> apache2
> apache2-mpm-worker
> php5-cli
> php5-cgi
> php5-常见
> libapache2-mod-fcgid

然后你需要创建一个文件来告诉apache如何使用php文件.我在名为php.conf的/etc/apache2/conf.d目录下创建了一个.这应该是内容:

<Directory /usr/share>
    AddHandler fcgid-script .php
    FCGIWrapper /usr/lib/cgi-bin/php5 .php
    Options ExecCGI FollowSymlinks Indexes
</Directory>

<Files ~ (\.php)>
    AddHandler fcgid-script .php
    FCGIWrapper /usr/lib/cgi-bin/php5 .php
    Options  ExecCGI
    allow from all
</Files>

就这样.显然,请确保文件的用户,组和权限是正确的(用户和组的www-数据和文件和文件夹的644& 755).

我的失败不是添加< Files>< / Files>标签.添加后我终于可以访问该网站了.在< Files>下进行php配置之前标签我在虚拟主机中添加了这些行,在< Directory>下我的主人的标签.像这样:

<Directory /var/www/website/>
    AddHandler fcgid-script .php
    FCGIWrapper /usr/lib/cgi-bin/php5 .php
    Options  ExecCGI Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

但这不起作用!在我的虚拟机中,我有这样的线条,它完美地工作……所以,也许我的解决方案也适合你.

我希望这会有所帮助:)

编辑:这是拯救我生命的论坛帖子:http://forum.parallels.com/showthread.php?t=85413

上一篇:无法通过phpmyadmin导入数据库


下一篇:apache2 – php5文件上传和发布最大大小