Запуск PHP-файла вне documentroot (папка cgi-bin)
Я работаю с коллегой, чтобы настроить их локальную среду на MAC в XAMPP, в Windows мой vhost выглядит так, как показано ниже.
Когда я получаю доступ к URL, какHttp: //domain.local/cgi-bin/handler.php веб-сервер обрабатывает PHP правильно, но на его мы получаем ошибку 500 серверов и это сообщение ...
The server encountered an internal error and was unable to complete your request.
Error message:
Premature end of script headers:
Мы попытались изменить имя папки cgi-bin на что-то другое, так как я заметил, что в httpd.conf был другой псевдоним, но это не имело никакого эффекта ... поэтому мне кажется, что проблема связана с разрешениями.
Мы считаем, что псевдоним настроен как доступHttp: //domain.local/cgi-bin/filenothere.php который не существует, выбрасывает 404, как и ожидалось, любые файлы .html / .pl не выполняются.
Разрешения, которые существуют в папке cgi-bin ...
rwxrwxrwx персонал Дейва
и принадлежит пользователю и группе ....
Дейв персонал
ВХост
<VirtualHost *:80>
ServerAdmin webmaster@example.com
ServerName www.domain.local
ServerAlias domain.local
ServerAlias api.domain.local
# Indexes + Directory Root.
DirectoryIndex index.php
DocumentRoot E:/home/www/www.domain.co.uk/htdocs/
# CGI Directory
ScriptAlias /cgi-bin/ E:/home/www/www.domain.co.uk/cgi-bin/
<Location /cgi-bin>
Options +ExecCGI
</Location>
# Logfiles
ErrorLog E:/home/www/www.domain.co.uk/logs/error.log
CustomLog E:/home/www/www.domain.co.uk/logs/access.log combined
</VirtualHost>
Любая идея, что заставляет этот файл PHP не выполняться?
UPDATE Попытался добавить заголовок, чтобы сказать, что содержимое является PHP в начале файла PHP, и теперь это просто выводит код PHP.
Это как если бы любой путь, указанный в качестве псевдонима, был доступен, но сервер не знает, как выполнить содержимое, это как для HTML, так и для PHP