Подтвердить что ты не робот

Lighttpd 403 Запрещено для файлов PHP

Я только что установил lighttpd на моем выделенном сервере, mod_fastcgi включен, поэтому я добавил следующие строки в файл lighttpd.conf:

fastcgi.server = ( ".php" =>
( "localhost" =>
                     (
                        "socket" => "/tmp/php-fastcgi.socket",
                        "bin-path" => "/usr/local/bin/php-cgi"
                      )
                   )
)

Но это все равно не помогает, так как я получаю сообщение 403 - Forbidden, когда пытаюсь ввести PHP файл в свой веб-браузер... Когда я удаляю файл index.php из моего корневого каталога в Интернете и разместите там index.html, тогда все будет хорошо, и ошибок нет, независимо от того, имеет ли файл index.php 100 строк или только один - <?php echo 'test'; ?>, он всегда показывает 403 - Forbidden, я из сейчас.

Почему это происходит?

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
4b9b3361

Ответ 1

Ваш php настроен неправильно. проверьте свой файл lighttpd error.log он будет указывать что-то вроде:

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

i используйте:

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"
                 )))   

убедитесь, что fastcgi включен в modules.conf

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

Ответ 2

Такая же проблема, исправление для Mint было установить пакет php5-cgi.
sudo apt-get install php5-cgi
включить модули fastcgi
sudo lighttpd-enable-mod fastcgi fastcgi-php
и, наконец, перезагрузить sudo service lighttpd force-reload

Ответ 3

У меня была такая же проблема. Исправление было таким же простым, как перемещение файлов конфигурации, чтобы они были включены. Все, что я сделал, было...

$ 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

Ответ 4

На ubuntu вы можете сделать это:

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

Источник: https://wiki.ubuntu.com/Lighttpd%2BPHP

Ответ 5

Вряд ли, но следует отметить еще одну возможную причину ответов "403 Forbidden".

Проверьте наличие операторов доступа (mod_access) в файле конфигурации (lighttpd.conf)

Пример:

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

Документы: модуль mod_access