2013-07-31 20 views
1

我有一個包含約25個輸入和代碼的窗體來處理它。最後一次以任何方式編輯代碼是在3周前。我隨機開始獲取重置連接問題。爲了進行調查,我開始刪除部分代碼以查找有罪部分(剪切部分,刷新,重複)。一旦我把它縮小到一個特定的部分(當我把它切掉時,沒有發生錯誤),我開始用罪犯部分的較小部分重複該過程。最後,我把整個部分都評論了出來。仍然有錯誤。然後我刪除了註釋掉的部分,沒有錯誤!「連接重置」顯示在舊代碼上

這導致我得出這樣的結論:錯誤不在我的代碼中,但最近對服務器配置(我使用GoDaddy託管)或類似的東西發生了一些變化。任何有關可能導致此錯誤的建議?我從未從代碼中刪除評論,並修復了之前的錯誤。

更多信息:表單最初加載正確。點擊任何一個按鈕都會給出錯誤,但是在錯誤發生之前代碼完全進入(我在輸入/輸出文件中,所以我可以看到它正在工作)。這甚至發生在「全部清除」按鈕上,它跳過了上面提到的部分,只是重新加載表單。

我沒有使用任何數據庫交互。該腳本確實使用Facebook和Twitter API。

我真的不知道如何從這一點出發。我願意在必要時發佈整個文件中的代碼,但是我的調查顯示這是毫無意義的。我也可以提供一個鏈接到違規網頁。

更新:我註釋掉了HTML表單本身的輸出之外的所有代碼。根本沒有處理代碼。只需輸入表單的一個功能即可。單擊任何按鈕會導致連接重置。但是,如果我刪除這個註釋掉的代碼,我不會重置連接,表單只是重新加載。

更新#2。我將該網站上傳到另一個主機。代碼運行良好,沒有問題。

更新#3。詳盡的檢查之後,我確定了問題的原因是以下函數調用:

preg_replace('/\b(\w)/e', 'strtoupper("$1")', $_POST['dessert_name']) 

如果我註釋掉這一行,我得到的連接復位的錯誤。如果我刪除它時,腳本完美運行。

+0

嘗試在php.ini這些設置還,您可能必須找到/取決於他們如何實現PHP刪除凝聚的文件在共享主機上。 memory_limit的= 128M 的upload_max_filesize = 100M allow_url_include = 1 allow_url_fopen選項= 1 – Moylin

+0

內存限制爲64M upload_max_file_size = 32M allow_url_include = 0 allow_url_fopen選項= 1 ...那些是當前設置。我不確定這些中的任何一個可能是什麼問題。我從其他地方讀取/寫入文件沒有問題,並且所涉及的文件很小(最大5k),並且只有少數文件(5或6)。 –

+0

並將這些值更改爲您建議的值不會減輕錯誤。 –

回答

1

你需要增加你的PHP超時限制在php.ini

這在我的經驗是幾乎總是超時。

的max_execution_time = 60

或在你的腳本的頂部添加

set_time_limit(60); 
+0

都不會出錯。我試圖將它設置爲600,但也沒有運氣。它幾乎直接進入連接重置屏幕。沒有掛或任何東西。 –

+0

嘗試重置共享主機上的文件權限,通常共享主機在其客戶經理中擁有該權限。檢查以查看擁有文件的用戶/組中的任何古怪事物。你的腳本是否像保存文件/日誌一樣做了什麼? – Moylin

+0

是的,有腳本讀/寫的4個文本文件。 –