Ausführen einer PHP-Datei außerhalb von documentroot (cgi-bin Ordner)

Ich arbeite mit einem Kollegen zusammen, um dessen lokale Umgebung auf einem MAC in XAMPP einzurichten. Unter Windows sieht mein vhost wie der folgende aus.

Wenn ich auf eine URL zugreife wiehttp: //domain.local/cgi-bin/handler.php Der Webserver verarbeitet das PHP korrekt, aber auf seinem wird ein 500-Server-Fehler angezeigt und diese Meldung ...

<code>The server encountered an internal error and was unable to complete your request.

Error message: 
Premature end of script headers:
</code>

Wir haben versucht, den Namen des cgi-bin-Ordners in einen anderen Namen zu ändern, als ich bemerkte, dass in der Datei httpd.conf ein anderer Alias ​​vorhanden war, der jedoch keine Auswirkungen hatte. Aus diesem Grund scheint das Problem mit den Berechtigungen verbunden zu sein.

Wir glauben, dass der Alias ​​für den Zugriff in Ordnung isthttp: //domain.local/cgi-bin/filenothere.php Wenn dies nicht der Fall ist, wird wie erwartet ein 404 ausgelöst. Alle .html / .pl-Dateien können nicht ausgeführt werden.

Die Berechtigungen, die für den Ordner "cgi-bin" vorhanden sind, lauten ...

rwxrwxrwx Dave Personal

und gehört dem Benutzer und der Gruppe ....

Dave Personal

Vhost

<code><VirtualHost *:80>
    ServerAdmin [email protected]
    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>
</code>

Irgendeine Idee, warum diese PHP-Datei nicht ausgeführt wird?

AKTUALISIEREN Es wurde versucht, einen Header hinzuzufügen, der angibt, dass der Inhalt PHP am Anfang der PHP-Datei ist, und dieser gibt nun einfach den PHP-Code aus.

Es ist, als ob auf einen Pfad zugegriffen werden kann, der als Alias ​​angegeben wurde, aber der Server weiß nicht, wie der Inhalt ausgeführt wird. Dies gilt sowohl für HTML als auch für PHP

Antworten auf die Frage(5)

Ihre Antwort auf die Frage