Lighttpd 403禁止用于PHP文件

Lighttpd 403禁止用于PHP文件,php,lighttpd,http-status-code-403,Php,Lighttpd,Http Status Code 403,我刚刚在我的专用服务器上安装了lighttpd,mod_fastcgi已启用,因此我在lighttpd.conf文件中添加了以下行: fastcgi.server = ( ".php" => ( "localhost" => ( "socket" => "/tmp/php-fastcgi.socket", "bin-path" => "

我刚刚在我的专用服务器上安装了lighttpd,mod_fastcgi已启用,因此我在
lighttpd.conf
文件中添加了以下行:

fastcgi.server = ( ".php" =>
( "localhost" =>
                     (
                        "socket" => "/tmp/php-fastcgi.socket",
                        "bin-path" => "/usr/local/bin/php-cgi"
                      )
                   )
)
但它仍然没有帮助,因为当我尝试在我的web浏览器中输入PHP文件时,我收到了
403-禁止的
消息。。。当我从我的web根目录中删除
index.php
文件并将
index.html
放在那里时,一切都很好,并且没有错误,无论
index.php
文件有100行还是只有一行-
它总是显示一个
403-禁止的
,我现在想不起来了

为什么会这样

我的web根目录的ls-la:

#
total 6

    drwxr-xr-x  15 root  wheel   1536 Jul 18 10:23 .
    drwxr-xr-x   4 root  wheel    512 Jul 18 08:45 ..
    drwxr-xr-x   2 www   www      512 Jul  1 02:36 cache
    drwxr-xr-x   2 www   www      512 Jul  1 02:36 config
    drwxr-xr-x   6 www   www      512 Jul  1 02:36 inc
-rw-r--r--   1 www   www        9 Jul 18 11:02 index.php

您的php配置不正确。 检查lighttpd error.log 它将说明如下内容:

(mod_fastcgi.c.1397) [ERROR]: spawning fcgi failed. 
我使用:

fastcgi.server = ( ".php" => ((                                      
                     "bin-path" => "/bin/php-cgi",             
                     "socket" => "/tmp/php.socket",              
                     "max-procs" => 1,                                     
                     "bin-environment" => (                         
                       "PHP_FCGI_CHILDREN" => "16",                    
                       "PHP_FCGI_MAX_REQUESTS" => "10000"           
                     ),         
                     "broken-scriptfilename" => "enable"
                 )))   
确保在modules.conf中启用了fastcgi

server.modules = (
  "mod_access",
  "mod_fastcgi",
#  "mod_alias",
#  "mod_auth",
#  "mod_evasive",
#  "mod_redirect",
#  "mod_rewrite",
#  "mod_setenv",
#  "mod_usertrack",
)

我也有同样的问题。修复方法非常简单,只需移动配置文件,即可启用。我所做的只是

$ ln -s /etc/lighttpd/conf-available/10-fastcgi.conf /etc/lighttpd/conf-enabled/
$ ln -s /etc/lighttpd/conf-available/15-fastcgi-php.conf /etc/lighttpd/conf-enabled/
然后重新加载

$ service lighttpd force-reload

同样的问题,Mint的修复程序是安装php5 cgi包

sudo apt get install php5 cgi

启用fastcgi模块
sudo lighttpd启用mod fastcgi fastcgi php

最后重新加载

sudo service lighttpd强制重新加载不太可能,但应注意作为“403禁止”响应的另一个可能原因

检查配置文件(lighttpd.conf)中是否有任何访问模块(mod_access)语句

例如:

      url.access-deny = ( "", ".php");

在ubuntu上,您可以执行以下操作:

sudo lighty-enable-mod fastcgi 
sudo lighty-enable-mod fastcgi-php

来源:

您能显示您的web根目录的
ls-la
吗?您的权限可能有误。#用它编辑了我的问题,php cgi运行的用户是谁?您的日志中是否有错误?是否有帮助?它解决了用户使用php&lighty获得403的许多错误。我遇到了同样的问题。尝试了这篇文章中的所有内容,然后在另一个论坛上找到了解决方案,所以这里是:
service lighttpd stop;ps-e | grep“lighttpd”
如果您得到一个结果,您可能有一个完美的工作配置,但lighttpd仍然在php安装之前运行一个配置。只需在进程上运行kill,然后再次启动服务lighttpd!请注意,这会停止lighttpd,因此请记住,如果这不是问题,请再次启动它。这不是正确的方法。你一定没有运行过lighty enable mod命令。这是我使用的唯一代码。我正在使用php5 cgi。对于现代disto的
sudo-apt-get-install php7.0-cgi',sudo-apt-get-install php5.6-cgi
,因为目前不支持
php5-cgi