我有一個JSON JSON文件就像值找出爲什麼fopen()過早結束?
{...} {...}...
我可以通過[]
包裹,並添加大括號之間的逗號將其轉換爲JSON,但是這不是問題。
我在文件中有大約40000個這樣的對象,我需要導入到WordPress中。現在,使用wp_remote_get()
是不可能的,因爲該文件太大,我得到錯誤(用盡內存),所以我用fopen()
。我有執行當我點擊導入,並在其中,我有這樣的代碼AJAX功能:
$data = fopen('url-to-local-file', 'r');
while (! feof($data)) {
$json_line = fgets($data);
$json_array = json_decode($json_line, true);
// Import happens here
}
fclose($data);
這工作,有點。大約12000個條目後,我收到消息,一切進口都很好。現在,應該導入的帖子數量大約爲3000(具有不同元值的相同條目),但我只能獲得大約900個導入。沒有圖像下載,只需從數組中獲取數據並將其放在wp_insert_post()
的帖子中,然後進行一些元數據更新。
有什麼辦法可以看到爲什麼6分鐘後流停止?錯誤日誌是空的。我看到一些使用try
和catch
的代碼,但我不知道我應該把它放在哪裏(以前從未使用它)。
您是否嘗試過'set_time_limit(0);'並確認您的主機沒有爲所有PHP進程設置6分鐘的最大執行時間? –
我在我的流浪者身上進行本地測試,在哪裏設置時間限制?在文件的頂部或'while'循環中? –
添加了答案。讓我知道如果有幫助 –