You are here: 首頁 文章分類選單 PHP分享特區

飛朵啦學習手札

本網站建議使用Firefox2.0以上,或是使用Goole瀏覽器來瀏覽,並使用1024x768解析度來觀看.

PHP分享特區

nginx 502 Bad Geteway 錯誤(php-fpm “stderr 未處理)

E-mail 列印 PDF

目前碰到一個很神奇的nginx 502 Bad Geteway錯誤問題。

出現錯誤的程式並不複雜,可以說只是跑一個大約30次的迴圈,而且不會是無窮迴圈,但在不同查詢條件下就會出現502的錯誤。

但為這在我測試電腦(apache)同一支程式,同樣條件,同樣的資料卻沒有出現502整頁掛掉的事情。

後來加上

ini_set('log_errors', 1);

ini_set('error_reporting', E_ALL);

ini_set('error_log', 'log/php_error.log');

程式便正常了,然後仔細一看錯誤訊息裡有許多的未定義,我修正未定義錯誤後,將error_log關掉,也正常了。

我將此問題丟到ChatGpt回應如下:

 

=======ChatGpt===============

 

你的直覺完全正確,而且你剛描述的狀況 正好踩到 Nginx + PHP-FPM 的一個很常見、但非常隱晦的「錯誤訊息 buffer」問題
這也是為什麼:

  • Apache (mod_php) 完全不會出問題

  • 同一支程式,在 Nginx 就會莫名其妙 502

  • 加上 error_log 後反而正常

你這次看到的狀況完全符合 php-fpm “stderr 未處理 + 大量錯誤訊息導致 worker 退出 / pipe broken” 這個經典問題。

下面我幫你把整個機制講清楚,你會完全理解為什麼會這樣(而且你以後遇到同型 502 都能瞬間定位)。

最近更新 ( 週二, 02 十二月 2025 09:53 )
 
 

錯誤SQLSTATE[HY000]: General error: 1 no such table: sessions

E-mail 列印 PDF

在composer裝好後,別忘了 使用下列指令建立基本資料庫

php artisan migrate

該狀況再在Laravel11出現

最近更新 ( 週五, 02 五月 2025 11:21 )
 
 

如何在Ubuntu 22.04 上安裝多個PHP 版本

E-mail 列印 PDF

本文轉自:https://devpress.csdn.net/linux/62ee9179c6770329307f3ca0.html

PHP是一種用於開發Web 應用程式的程式語言。您必須在Ubuntu 系統上安裝PHP 套件才能運行在其上編寫的應用程式。通常用於建立電子商務網站、部落格和API 應用程式。如果您正在尋找一種在Ubuntu 22.04 上安裝PHP 的簡單方法,那就別無所求。在這篇文章中,我們將向您展示如何快速輕鬆地做到這一點。

我們將使用Ondrej PPA在Ubuntu 22.04 LTS 系統上安裝PHP。其中包含PHP8.1,8.0,7.4,7.3,[7.22 10002 100027.1、7.0和PHP5.6包。您可以根據應用程式的需要安裝任何版本。建議新的應用程式開發人員使用最新的PHP 版本,即PHP 8.1。

在本教程中,您將學習如何在Ubuntu 22.04 LTS系統上安裝PHP。本教學也相容於Ubuntu 20.04和18.04系統。

第一步:系統更新

首先,透過控制台登入Ubuntu 22.04然後使用以下命令更新Apt 快取並升級系統的當前軟體包:

 

sudo apt- get update
sudo apt- get upgrade

最近更新 ( 週六, 02 十二月 2023 11:51 )
 

PHP .ini中display_errors = Off失效的解決

E-mail 列印 PDF

問題:

PHP 設置文件php .ini中明明已經設置display_errors = Off,但是在運行過程中,網頁上還是會出現錯誤信息。

解決:

1.經查log_errors= On,據官方的說法,當這個log_errors設置為On,那麼必須指定error_log文件,如果沒指定或者指定的文件沒有權限寫入,那麼照樣會輸 出到正常的輸出渠道,那麼也就使得display_errors 這個指定的Off失效,錯誤信息還是打印了出來。於是將log_errors = Off。

2.修改後請記得重啟(reload)php-fpm,不要只是重啟apache 或 nginx

 

在IIS 上使用 PHP CI

E-mail 列印 PDF

在網站的根目錄裡放置web.config,裡面內容如下:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="Rewrite to index.php">
                    <match url="index.php|robots.txt|images|test.php" />
                    <action type="None" />
                </rule>
                <rule name="Rewrite CI Index">
                    <match url=".*" />
                    <conditions>
                        <add input="{REQUEST_FILENAME}" pattern="css|js|jpg|jpeg|png|gif|ico|htm|html" negate="true" />
                    </conditions>
                    <action type="Rewrite" url="index.php/{R:0}" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>  

如果放入後,執行網站有誤,那麼請安裝url-rewrite

參考來源:https://stackoverflow.com/questions/5408111/codeigniter-2-on-iis-with-web-config-file

 
第 1 頁, 共 8 頁