Uruchamiam PHP w wersji 5.5/5.6 przez php-fpm bez żadnych problemów (gniazda uniksowe i nginx).Żadna nazwa skryptu nie została przekazana do php-fpm przez nginx/FastCGI
Dzisiaj skompilowałem PHP 7 i uruchomiłem go jako trzecią instancję PHP. Choć wnioski dostać serwowane w porządku z PHP 5.5/5.6 przypadkach na przykład PHP 7 uzyskać:
OSTRZEŻENIE: PID 2582, fpm_request_check_timed_out(), linia 277: [basen www0] dziecko 2813, scenariusz '' (żądanie : "„) wykonanie timed out (120.018160 sEC) kończące
w moim pliku dziennika php-fpm i
[błąd] 1889 # 0: * 4 recv() nie powiodło się (104: Connection resetowany przez peer) podczas odczytywania nagłówka odpowiedzi od klienta, klient: xxx.xxx.xxx.20, serwer: localhost, żądanie: "GET /info.php HTTP/1,1" upstream "FastCGI: // UNIX: /var/run/php70-fpm.sock:" host: "xxx.xxx.xxx.21"
w moim pliku dziennika błędów nginx.
Używam fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name
, który działa również dla instancji PHP 5.6. Chociaż nazwa pliku skryptu dla PHP 7 wydaje się pusta. Pytam o skrypt /info.php
.
Czy jest jakaś różnica między używaniem PHP 5.x i 7.0 z php-fpm?
UPDATE
Przynajmniej nie jestem jedynym, który stoi w obliczu tych problemów, jak się wydaje. Otworzyłem raport o błędzie tutaj: https://bugs.php.net/bug.php?id=69850
Jest także bardzo podobny (prawdopodobnie identyczne) bug już zgłaszane tutaj: https://bugs.php.net/bug.php?id=69875 (thx do @cryptic ツ)
UPDATE 2
Try the newest alpha2. Błąd jest tam naprawiony. Gniazda uniksowe znów działają jak urok.
Dochód? Z jakiego powodu? – TiMESPLiNTER
kto wie ... afiac twoje pytanie jest całkowicie poprawne i w zasięgu tego forum. Przygotowujesz moją aktualizację stosu "już wkrótce" :) – YvesLeBorg
Czy nazwa $ fastcgi_script_name jest pusta w momencie przybycia php? co jest w SCRIPT_FILENAME? czy php7 ma dostęp do gniazda? co dzieje się za pośrednictwem tcp? – itpp13