簡體   English   中英

php最大執行時間,忽略php.ini

[英]php max execution time ignoring php.ini

我正在嘗試通過phpMyAdmin導出大型數據庫。 我吉普收到一個腳本停止運行的錯誤,因為達到了600秒的最大執行時間(或類似的時間)。 我嘗試將php.ini max_execution_time設置為0和-1。 正如我在phpinfo()看到的那樣,此更改已生效,但仍然出現錯誤。 另一件事是,最初(在我將其更改為0之前)也不是600。 那是180! 這600套在哪里?

查看是否在某處手動設置。 假設您使用的是UNIX類型的平台:

find /path/to/root/of/phpmyadmin -name "*.php" -print0 | xargs -0 grep "max_execution_time"

您的Web服務器可以具有其他超時配置,這些配置也可能會中斷PHP執行。 Apache具有Timeout指令,而IIS具有CGI超時功能。 有關特定的詳細信息,請參見Web服務器文檔。

不要使用phpMyAdmin導入大文件。 嘗試使用mysql CLI導入數據庫的轉儲。 將SQL文件傳輸到服務器,並使用PHP腳本(例如shell_exec或system)在服務器上執行以下命令

mysql --user =用戶--password =密碼數據庫<database_dump.sql。

當然,數據庫必須存在,並且您提供的用戶應該具有更新數據庫的必要特權。

默認情況下,PHP使用以下三個指令在所有PHP腳本上設置資源限制:=> max_execution_time :每個腳本的最大執行時間,以秒為單位(默認為30秒)

=> max_input_time :每個腳本可用於解析請求數據的最長時間(60秒)

=> memory_limit :腳本可能消耗的最大內存量(默認為8MB)

您的php腳本超時可能是由於資源限制。 您需要做的就是設置新的資源限制,以便腳本可以執行。

如果這也不起作用,則可以使用set_time_limit(N)函數進行設置,該函數以秒為單位設置時間限制。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM