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
Ответы
Ответ 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