2014-07-04 54 views
3

我遇到了一個我寫過的腳本的問題。我正在做一些基本的屏幕抓取並將其保存到WordPress數據庫。該腳本的功能應該是,但當我試圖做多個頁面(如大約20頁)時,它會在運行一大塊腳本後給我一個500錯誤。在腳本的網頁我這包括:500內部錯誤 - 連接到外部WordPress數據庫時發生PHP超時

set_time_limit(0); 
ignore_user_abort(1); 

我也曾在我的服務器的根在理論上應防止其超時php.ini文件中包含max_input_time = 0但我連接到兩個其他的網址,以便我很好奇它是否可能與這些關係之一有關。基本上,它是這樣的:

Script in folder on server -> Queries info from a URL and pulls it back into my server -> Analyzes the data -> Sends it to WordPress database on my server but in a different directory 

是否有任何方法來確定何時發生超時?我的假設是,它不是在腳本頁面上發生的,但有一個通用的500錯誤,我不知道如何排查故障,以確定發生了什麼。

感謝您的幫助!

編輯


我打開錯誤報告和這裏是我收到的錯誤:

[Thu Jul 03 21:29:12 2014] [8808155] [fcgid:warn] (104)Connection reset by peer: [client 50.184.161.228:51983] mod_fcgid: error reading data from FastCGI server 
[Thu Jul 03 21:29:12 2014] [8808155] [fcgid:warn] (104)Connection reset by peer: [client 50.184.161.228:51983] mod_fcgid: ap_pass_brigade failed in handle_request_ipc function 

錯誤的IP地址是不是我的IP地址,也不是該網站的IP地址我正在刮,所以我不知道是從哪裏進來的。

我不確定這是否與服務器配置有關,顯然我將限於更新,因爲我在GoDad上dy共享服務器。

我發現這篇文章:

​​

其中我想回答我的問題。我想我無法更新設置。現在說,有沒有一種方法,我可以讓腳本抓取五頁,休息,並爬行五更多,等我已經使用sleep(),但我認爲這仍然是運行'腳本'的一部分,所以它不是像停止並重新啓動,它只是繼續腳本,但暫停一秒?

+0

你檢查了你的日誌嗎? –

+0

@ Fred-ii-,那會很好。我不確定如何做到這一點,因爲我是新來的這些問題。我現在要查看我的服務器的根目錄,看看它是否在那裏? – MillerMedia

+0

僅供參考,我在一個共享服務器上,我不知道這是否會影響錯誤記錄。 – MillerMedia

回答

0

您可能需要查看phpinfo()以查看是否允許在後臺運行腳本。可能會在此處禁用ignore_user_abort。

之後 - 你真的確定你有權限訪問'另一個目錄中的數據庫'?我不確定一個站點的用戶對另一個站點的用戶的訪問權限,除非在您的設置中您擁有相同的用戶或擁有用戶,而該用戶被授予兩個數據庫的訪問權限。

關於IP地址 - 某些託管服務提供商將其整個網絡隱藏在一組公共IP地址後面。看看$ _SERVER變量,看看你是否有X_HTTP_FORWARDED與這個奇怪的IP地址來檢查這一點的信息。如果存在,這意味着從您的網站傳出的連接通過某個代理服務器,而在本地您的網站有另一個IP地址。而且,從該服務器上的網站連接到該服務器上的另一個網站可能使用此本地IP地址,而不是外部IP地址。

相關問題