2017-06-20 78 views

回答

9

我這個新的配置指令固定它的Apache配置:

ProxyFCGIBackendType GENERIC 

在全球配置中SetHandler指令之前。默認是FPM,但對某些php-fpm配置(SetHandler和套接字)不正確。

有了這個bug全部$_SERVER['SCRIPT_FILENAME']$_SERVER['PHP_SELF'] Apache變量($_SERVER)(從php-fpm注入)是錯誤的,他們沒有路徑!

ProxyFCGIBackendType默認爲FPM,但對許多配置而言都是錯誤的。 Apache httpd應該添加GENERIC作爲默認不破壞網站。

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

+0

FWIW他們意識到這一點,併爲它的下一個版本工作。 –

+2

也爲我工作。在etc/sites-available文件的頂部添加它 – lprent

+0

你知道我是如何修改/改變這個內部的一個puphpet/vagrant設置嗎? – Michael

0

(這將是一個更好的評論,但我最小的代表下我。)

像neoteknic點出their answer,使用GENERIC後端類型將恢復你2.4.25行爲,而我們得到這個錯誤解決。

但是,請注意,2.4.25行爲breaks some other people too並不是萬能的。如果您處於綁定狀態,新的ProxyFCGISetEnvIf directive可以讓您直接控制FCGI環境,並且如果您需要它們,它可以接受httpd表達式語法來執行一些非常複雜的操作。這隻有在你明白那些環境應該是什麼的時候纔有用,但這是另一種選擇。