Nginx - jak i ustawienia

przez

1

Jak naprawić: FastCGI sent in stderr – PHP message: PHP Warning: move_uploaded_file

Jak naprawić: FastCGI sent in stderr – PHP message: PHP Warning: move_uploaded_file

1
Nginx - jak i ustawienia

PHP Warning: move_uploaded_file to typowy błąd serwerów WWW z Nginx i pojawia się gdy chcemy wgrać plik na serwer. W większości przypadków, gdy musimy przesłać certyfikaty lub inne pliki, które nie należą “Media”, nie widzimy błędu w interfejsie administracyjnym CMS.

W bardziej konkretnej formie błąd “PHP Warning: move_uploaded_file” znajdziemy to w error.log w formie:

FastCGI sent in stderr: "PHP message: PHP Warning:  move_uploaded_file(/srv/www/domain.test/public/file.file): failed to open stream: Permission denied in /srv/www/domain.test/public/script.php on line 748 PHP message: PHP Warning:  move_uploaded_file(): Unable to move '/tmp/phpqAVtWy'

Dlaczego występuje błąd PHP Warning: move_uploaded_file i jak to rozwiążemy

Jak powiedziałem powyżej, błąd pojawia się, gdy próbujemy przesłać niektóre pliki na serwer WWW.

FastCGI sent in stderr” jest typowe dla serwerów wyposażonych w PHP-FPM i Nginx jako oprogramowanie internetowe. Zatem problem leży gdzieś w powiązaniu ze skryptem, za pomocą którego przesyłane są pliki.

move_uploaded_file(): Unable to move” mówi nam bardzo wyraźnie, że plików tych nie można przesłać i przenieść do innego folderu na serwerze WWW za pomocą skryptu wykonującego operację.

Rozwiązanie tego błędu Php rozwiązuje się to bardzo prosto, ustawiając odpowiednie uprawnienia na serwerze, zarówno dla skryptu wykonawczego, do którego najprawdopodobniej użytkownik: nginx nie miał dostępu, jak i dla folderu docelowego.

Jeśli pliki witryny nie należą do użytkownika, jak ma to miejsce na cPanel, VestaCP lub innych platformach do zarządzania hostingiem, prawie na pewno rozwiązaniem jest zapewnienie użytkownikowi Nginx dostępu do folderu przesyłania i skryptu.

W powyższym przykładzie kodu wykonamy następujące polecenie w SSH:

chown -R nginx:nginx /srv/www/domain.test/public/
chmod g+w file.file

Ponownie uruchamiam przesyłanie i wszystko powinno przebiegać bez błędu move_uploaded_file(): Unable to move.

Jeśli nadal napotykasz problemy, można je rozwiązać w komentarzach do tego samouczka.

Jak naprawić: FastCGI sent in stderr – PHP message: PHP Warning: move_uploaded_file

Może zainteresują Cię także...

Jedna myśl dalej “Jak naprawić: FastCGI sent in stderr – PHP message: PHP Warning: move_uploaded_file

  1. Caron mówi:

    Bonjour,
    Czytałem i ponownie czytałem Twoje artykuły na temat [move_upload_file].
    Okazuje się, że borykam się z tym problemem i od wielu miesięcy bezskutecznie próbuję się z niego wydostać.
    Mam osobistą witrynę, w której mam stronę Form.html, która działa tylko częściowo, a mianowicie: nie można otworzyć kanału itp... i oczywiście przenieść go do „przesłanych”.
    Je suis retraité des Arts graphiques, typographe à 13 ans, puis monteur offset, infographiste, webmaster, bref j’ai 84 ans retraité et je suis toujours et encore passionné par mon métier.
    Si je me débrouille avec le html et le JavaScript, je me heurte aujourd’hui au PHP.
    Je fais avec mes collègues anciens combattant d’Algérie, de petites sorties et réalise desreportagesque je mets sur mon site Perso à dispo pour ceux qui sont intéressés ; donc, je désire recevoir des docs car je ne pas tout faire moi même pour illustrer mes propos, d’où l’idée du Formulaire et traitement PHP.
    Stworzyłem swoją witrynę za pomocą programu „Dreamweaver CC2020” w wersji dla komputerów Mac hostowanej w domu na serwerze Synology „Ngnix” DMS v. 7.1 – PHP 8 (możliwość php 7.2, php 7.3, php 7.4). Certyfikat domyślny (No-Ip): TrustCor DV CA – G2 RSA
    Formularz działa poprawnie dla pól „tekstowych”, ale odrzuca pola multimedialne.
    Jeśli chcesz, możesz połączyć się z powyższym adresem URL, kliknąć figurkę, a ponieważ nie aktywowałem kodu HTML „powrót”, będziesz mógł zobaczyć wynik na stronie PHP. (Przyznałem 10 Mb i 20 Mb) na media.
    A jeśli mam rację, problem będzie pochodził z „FastCGI” serwerów Nginx PHP-TPM, tak jak w moim przypadku, więc w panelu TPM jest wiele pól do zaznaczenia lub odznaczenia, ale które z nich?
    Zauważyłem polecenie SSH:
    chown -R nginx:nginx /srv/www/domain.test/public/
    chmod g+w plik.plik
    Ale czy będzie pasować do mojego serwera?
    Z góry dziękuję za cenne rady.

Zostaw odpowiedź

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *