Php
PHP 不能正確處理“更大”的 http 請求
作業系統更新後,Web 伺服器/PHP/MediaWiki 不再正確處理“更大”的 HTTP 請求。Wiki 文章內容在大約 6K 個字元後被截斷,MediaWiki 報告會話失去。
**症狀:**我首先認識到我以前安裝的 MediaWiki (PHP) 的錯誤。當我編輯一篇文章並且它的大小變得大於大約。6k 個字元,文章文本被截斷,MediaWiki 拒絕保存新文本但報告失去會話錯誤。較小的文章不受影響。
問題: 這可能是 PHP 中的錯誤嗎?我應該送出錯誤報告嗎?還是我做錯了什麼?是不是配置錯誤?
**背景:**在家裡,我最近將我的 raspbian LAMP 伺服器從 wheezy 更新為 jessie。以前一切都很好。
- 作業系統:Raspberry Pi 上的 Raspbian jessie(以前稱為 wheezi)。
- 阿帕奇 2.4。
- phpinfo() 沒有顯示 suhosin 的跡象,這有時會導致較大的 http 請求出現問題。此外,有時在 Web 上提到的其他相關 PHP 參數也不值得懷疑:PHP 版本 5.6.24-0+deb8u1。max_input_time=60, max_execution_time=30, post_max_size=8M
到目前為止我嘗試了什麼:
- 其他 PHP 程序:為了進一步調查,我通過一個簡單的 PHP 文件上傳腳本上傳了文件。類似的問題;文件上傳不起作用。(供您參考,上傳腳本的程式碼取自這裡: http: //www.codingcage.com/2014/12/simple-file-uploading-with-php.html該腳本使用簡單的表單數據,沒有 Ajax , 沒有 JSON, …)
- 較大的文件導致拆分:此外,較大的 http 文件上傳請求(使用數百 KB 的文件)似乎被拆分為兩個請求。apache 訪問日誌文件顯示(請記住,這實際上只是來自瀏覽器的單個請求):
- … - -$$ 05/Aug/2016:10:52:38 +0200 $$“POST /simpleupload.php HTTP/1.1” 200 85689 " https://.../simpleupload.php " “Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0”
- … - -$$ 05/Aug/2016:10:52:38 +0200 $$"\xb4W\xcd\xff" 400 557 “-” “-” -
- 其他瀏覽器:可以使用不同的瀏覽器複製該行為:Linux 上的 Firefox、Windows 上的 Firefox 38 以及同一台機器上的 elinks 瀏覽器。
- 消除網路問題:我使用 elinks 訪問本地主機上的網路伺服器。MediaWiki 和 PHP 文件上傳腳本中的相同問題。
- 增加的日誌級別:增加 Apache LogLevel 以進行調試不會在請求處理期間帶來任何新資訊。
- Perl 不會出現錯誤:使用 Perl 編寫的不同文件上傳腳本不會出現該問題。文件上傳工作正常。所以,這似乎不是作業系統,Apache,瀏覽器的問題,……
**備註:**這是我試圖改寫我的鎖定/保留問題https://unix.stackexchange.com/questions/301444/small-http-requests-get-truncated,我不能再編輯了。
就我而言,我按照https://wiki.debian.org/LaMp中的說明執行“aptitude install php5 php5-mysql libapache2-mod-php5”,將已安裝的 libapache2-mod-php5filter 替換為 libapache2-mod-php5。這解決了我的問題。
這是兩個包之間差異的解釋連結:apache2 和 php5: module 或 filter。但是,我不明白為什麼在我的情況下過濾器會導致奇怪的問題。但是,無論如何,現在已經解決了。