[gelöst] Apache2 mit PHP-FPM: AH01071: Got error 'Primary script unknown'

Debian macht sich hervorragend als Web- und Mailserver. Schau auch in den " Tipps und Tricks"-Bereich.
Antworten
Benutzeravatar
AspeLin
Beiträge: 664
Registriert: 19.06.2003 16:06:16
Wohnort: Berlin

[gelöst] Apache2 mit PHP-FPM: AH01071: Got error 'Primary script unknown'

Beitrag von AspeLin » 02.08.2019 14:30:29

Diese Lösung bezieht sich u. a. auf Debian 10 mit PHP 7.3.

Ich poste mal meine gefundene Lösung, weil das Problem häufig zu sein scheint, die Lösung aber schwer zu finden ist u. z. T. weniger empfehlenswerte Wege aufgezeigt werden. Wird in der o. g. Konfiguration ein nicht existierendes PHP-Skript an den Server übergeben, wird nicht die übliche 404-Fehlerseite ausgegeben, sondern ein "file not found". Im Log steht dann:

Code: Alles auswählen

AH01071: Got error ‘Primary script unknown’
Um das zu beheben, kann in der Datei /etc/apache2/conf-enabled/php[Version]-fpm.conf die Verwendung des Handlers davon abhängig gemacht werden, ob ein übergebenes PHP-Skript existiert. Dazu wird der Handler-Aufruf in einen entsprechenden <If>-Block eingebettet. Aus

Code: Alles auswählen

SetHandler "proxy:unix:/run/php/php7.3-fpm.sock|fcgi://localhost"
wird

Code: Alles auswählen

<If "-f %{SCRIPT_FILENAME}">
	SetHandler "proxy:unix:/run/php/php7.3-fpm.sock|fcgi://localhost"
</If>
Die Lösung habe ich hier gefunden.
Täuschung ist das Silikon der Postmoderne.

floogy
Beiträge: 125
Registriert: 19.04.2006 22:43:15

Re: [gelöst] Apache2 mit PHP-FPM: AH01071: Got error 'Primary script unknown'

Beitrag von floogy » 10.08.2020 19:41:09

Danke für den Hinweis und den Link!

Ich hatte ein etwas anderes Problem.
Von Haus aus ist das ja, in Debian buster zumindest, z.B. in /etc/apache2/conf-enabled/php5.6-fpm.conf geregelt.

Code: Alles auswählen

# Redirect to local php-fpm if mod_php is not available
 <IfModule !mod_php5.c>
 <IfModule proxy_fcgi_module>
     # Enable http authorization headers
     <IfModule setenvif_module>
     SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1
     </IfModule>

     <FilesMatch ".+\.ph(p[3457]?|t|tml)$">
         SetHandler "proxy:unix:/run/php/php5.6-fpm.sock|fcgi://localhost"
     </FilesMatch>
     [...]
     
geregelt.

Code: Alles auswählen

DocumentRoot /var/www/docs/gallery2/gallery2/
in /etc/apache2/sites-enabled/gallery2.conf änderte ich in

Code: Alles auswählen

DocumentRoot /var/www/docs/gallery2/
Allerdings durch einen Zeilenumbruch und einen '#' Kommentar.

Code: Alles auswählen

DocumentRoot /var/www/docs/gallery2/
#gallery2/

Code: Alles auswählen

[proxy_fcgi:error] [pid 3704:tid 139899768338176] [client 172.16.240.37:1711] AH01071: Got error 'Primary script unknown\n'
Der Zeilenumbruch fand sich leider im Terminal als '\n' allein in der nächsten Zeile des Error.logs, so dass es mir nicht auffiel.

Im Browser nur
file not found
Das hat wieder etwas Zeit gekostet.

EDIT: Ganz verstehe ich es nicht. (\n ist zwar das Zeichen für line break), denn ein LF befindet sich natürlich an jedem Zeilenende. Vielleicht muss es immer eine Leerzeile dahinter geben?

Brainfinder
Beiträge: 1
Registriert: 03.07.2021 14:43:39

Re: [gelöst] Apache2 mit PHP-FPM: AH01071: Got error 'Primary script unknown'

Beitrag von Brainfinder » 03.07.2021 14:49:15

I faced the same message with php7.4-fpm in a virtual box with shared folders.
I found out the problem happens when I mounted the document root with the wrong user (uid/gid) .
Its a line like this in /etc/fstab that solves the issue for me
pepe /data/www/pages/pepe vboxsf rw,nodev,relatime,iocharset=iso8859-1,uid=1114,gid=1116,dmode=0770,fmode=0770 0 0

Antworten