怎麼修: FastCGI sent in stderr – PHP message: PHP Warning: move_uploaded_file

PHP Warning: move_uploaded_file 是一個典型的 Web 服務器錯誤 NGINX 並在我們要將文件上傳到服務器時出現。 大多數時候,當我們必須上傳證書或其他不屬於 “Media”,我們在界面中看不到錯誤 adminCMS 註冊。

在更具體的形式中,錯誤 “PHP Warning: move_uploaded_file” 我們發現它在 error.log 作為:

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'

為什麼會發生錯誤 PHP Warning: move_uploaded_file 以及我們如何解決它

正如我上面所說,當我們嘗試將文件上傳到 Web 服務器時會發生錯誤。

FastCGI sent in stderr”對於具有 PHP-FPM 和 NGINX 作為網絡軟件。 所以問題出在上傳文件的腳本的關係上。

move_uploaded_file(): Unable to move”非常清楚地告訴我們,這些文件無法通過執行操作的腳本上傳並移動到 Web 服務器上的另一個文件夾。

解決此錯誤 PHP 解決起來非常簡單,在服務器上設置正確的權限,包括執行腳本,最可能的用戶:nginx 沒有訪問權限,以及目標文件夾。

如果網站文件不屬於某個用戶,例如在 cPanel、VestaCP 或其他託管管理平台上,那麼幾乎可以肯定的解決方案是讓 nginx 用戶訪問上傳文件夾和腳本。

對於上面的代碼示例,我們將在 SSH 中執行以下命令:

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

我們恢復上傳,一切都應該正常工作 move_uploaded_file(): Unable to move.

如果仍有問題,可以在本教程的評論中解決。

對技術充滿熱情,我喜歡測試和編寫有關操作系統的教程 macOS,Linux, Windows, 關於 WordPress, WooCommerce 和配置 LEMP 網絡服務器(Linux、NGINX、MySQL 和 PHP)。 我寫在 StealthSettings.com 自 2006 年以來,幾年後我開始撰寫 iHowTo.Tips 教程和有關生態系統中設備的新聞 Apple: iPhone,iPad, Apple 手錶,HomePod, iMac, MacBook、AirPods 和配件。

發表評論