Php

在 MediaWiki 中保存編輯的零星問題

  • December 1, 2015

在我們的 Wiki(http://scratch-dach.info MediaWiki 1.25.1、PHP 5.3.29、MySQL 5.5.44-log)中,我們在保存編輯時會遇到零星問題。瀏覽器不定期地嘗試下載 index.php 文件而不是送出編輯。似乎較大的頁面更有可能受到此問題的影響。

下載 PHP 原始碼通常意味著 Apache 配置錯誤並且不允許在該目錄中執行腳本,但是通常所有 php 腳本(尤其是 wiki 中的 index.php)在伺服器上執行良好。

我們託管了許多具有相同擴展/配置的 wiki,但只有在這種情況下才會發生此類錯誤。Wiki 之間唯一的具體區別似乎是我們的數據庫超過 1 GB。在 Apache-Log 中沒有可疑條目。

經過一些測試,我們發現該錯誤僅出現在包含電子郵件地址或外部連結之類 [http://test.name]http://test.name 頁面上。但是,如前所述,該錯誤是零星的,有時帶有連結的頁面會保存,有時我們會收到 php-Download 錯誤。問題是我們只有一個來自我們的提供商 Strato 的“主機”包,所以我們無法直接訪問 php 和 apache 模組。

我們在網上搜尋了很久,但沒有找到這樣的問題的描述…

非常感謝任何幫助!

(這個問題是stackoverflow的後續問題,我們被告知將問題放在伺服器故障上。)

經過長時間的搜尋,我們發現了問題。提供商 (STRATO) 執行了一個名為server-site-security的安全程序,該程序會掃描重複輸入相同 URL 的使用者。雖然在這種情況下這通常是垃圾郵件機器人的行為,但它會影響普通使用者編輯帶有連結的 Wiki 頁面。在詢問提供商是否安裝了類似的程序ModSecurity後,我們追踪了該錯誤。通過配置界面停用伺服器站點安全後,問題就消失了。

這不太可能是 PHP 或 MediaWiki 的問題。如果 Apache 決定執行一個腳本,無論該腳本做什麼,Apache 都會列印它的輸出。當 Apache 確實使用 PHP 以外的其他處理程序來處理.php腳本時,就會發生下載。

您所描述的內容(較大的頁面更頻繁地失敗)聽起來像 Apache 嘗試將.php文件視為文本,如果在執行腳本時出現錯誤(如超時或記憶體不足)。也許你有一些奇怪的錯誤處理配置。loglevel traceX可能有幫助。

引用自:https://serverfault.com/questions/715002