2015-06-15 79 views
13

我通過php-fpm運行PHP 5.5/5.6實例沒有任何問題(unix套接字和nginx)。沒有腳本名稱通過nginx/FastCGI傳遞給php-fpm

今天,我編譯了PHP 7,並開始它作爲第三個PHP實例。雖然請求得到服務精細與PHP 5.5/5.6的實例爲PHP 7例如我得到:

警告:PID 2582,fpm_request_check_timed_out(),行277:池www0]子2813,腳本 ''(要求:「「)執行超時(120.018160秒),終止

在我的PHP-fpm的日誌文件

[錯誤] 1889#0:* 4的recv()失敗(104:連接在讀取來自上游的響應頭時,客戶端:xxx.xxx.xxx.20,server:localhost,請求:「GET /info.php HTTP/1.1" 上游 「的FastCGI:// UNIX:/var/run/php70-fpm.sock:」 主持人: 「xxx.xxx.xxx.21」

在我的Nginx的錯誤日誌文件

。我使用的fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name也適用於PHP 5.6實例。雖然PHP 7的腳本文件名似乎是空的。我要求一個腳本/info.php

使用PHP 5.x和7.0與php-fpm有什麼區別嗎?


UPDATE

至少我不是誰面臨的這些問題,因爲它似乎是唯一一個。我開了一個bug報告在這裏:https://bugs.php.net/bug.php?id=69850

還有已經報道過這裏非常相似(可能是相同的)錯誤:https://bugs.php.net/bug.php?id=69875(感謝@crypticツ)

更新2

Try the newest alpha2。該錯誤在那裏修復。 Unix套接字現在可以再次像魅力一樣工作。

+6

Downvote?是什麼原因? – TiMESPLiNTER

+0

誰知道...... afiac你的問題是完全有效的,並在此論壇的範圍內。你正在爲我的「真正的即將來臨」堆棧升級鋪平道路:) – YvesLeBorg

+0

$ fastcgi_script_name在PHP到來時爲空嗎?什麼在SCRIPT_FILENAME?請問php7有權訪問套接字?通過tcp發生了什麼? – itpp13

回答

3

我不知道這是否可以被認爲是答案,但在這一刻,當我寫這個答案,你提出的bug已被認爲由PHP團隊證實

[2015-06-23 12:47 UTC] [email protected] 
I confirm 
PHP 5.6.10 works 
PHP 7.0.0-dev (Jun 17 2015) 
- network socket: OK. 
- UDS: broken 

更新:我剛剛看到你也知道這一點!

相關問題