2017-06-20 44 views

Odpowiedz

9

Naprawiłem go w apache config z tej nowej dyrektywy config:

ProxyFCGIBackendType GENERIC 

W konfiguracji globalnej przed dyrektywy SetHandler. Domyślnie jest to FPM, ale nie jest poprawne w przypadku niektórych konfiguracji php-fpm (SetHandler i socket).

Z tym błędem wszystkie $_SERVER['SCRIPT_FILENAME'] i $_SERVER['PHP_SELF'] Apache vars ($_SERVER) (wstrzyknięte z php-fpm) są błędne, nie mają ścieżki!

ProxyFCGIBackendType jest domyślnie FPM, ale jest błędny dla wielu konfiguracji. Serwer httpd Apache powinien dodać GENERIC jako domyślny, aby nie łamać stron internetowych.

Patrz: https://httpd.apache.org/docs/2.4/en/mod/mod_proxy_fcgi.html#proxyfcgibackendtype

+0

FWIW są ​​tego świadomi i pracują nad kolejną wersją. –

+2

Pracował także dla mnie. Dodano go na górze pliku etc/sites – lprent

+0

Czy wiesz, jak to naprawić/zmienić w konfiguracji puppetka/włóczęgi? – Michael

0

(Byłoby lepiej jako komentarz, ale jestem pod minimalnej rep.)

Podoba neoteknic punktów w their answer, przy użyciu typu GENERIC backend powróci do 2.4.25 zachowanie, gdy otrzymamy ten błąd.

Należy jednak pamiętać, że zachowanie 2.4.25 breaks some other people too i nie jest panaceum. Jeśli jesteś w wiązaniu, nowy ProxyFCGISetEnvIf directive może dać ci bezpośrednią kontrolę nad envvars FCGI, i akceptuje składnię wyrażenia httpd dla niektórych dość skomplikowanych manipulacji, jeśli ich potrzebujesz. Pomaga to tylko wtedy, gdy rozumiesz, czym powinny być te envvary, ale jest to inna opcja.