簡體   English   中英

如何不受所有限制地運行php腳本?

[英]How to run php script without all limits?

我知道有很多問題,如何不受時間限制地運行php腳本,但我很好奇,如何不受任何限制地運行php腳本。 (我認為有一些事情像最大內存消耗,mysql超時等...)

我有腳本,該腳本映射硬盤驅動器的一部分並讀取目錄和文件內容,並將一些數據存儲到數據庫中。 因此,我期望此腳本將花費很長時間並且要占用大量內存。

所以我的問題是,我應該將什么設置為“ infinite”以使腳本運行最大可能的持續時間?

就目前而言,即時通訊使用此ini_set,但是由於某些原因,腳本在完成所有操作之前就結束了。 (甚至在我設定的40分鍾時限之前)

ini_set('max_execution_time', 2400);
ini_set('display_errors',1);
ini_set('mysql.connect_timeout', 2400);
ini_set('default_socket_timeout', 2400);

無法立即取消所有限制。

最好的辦法是查看所有php.ini指令,並嘗試找出適用於您的系統的值,並將其增加為無限值,或者在不適用時增加為非常大的值。

這是核心PHP指令的列表: https : //secure.php.net/manual/en/ini.list.php

您必須記住,系統上也有限制(在Linux上為ulimit),這會阻止PHP進程獲取足夠的內存/打開足夠的文件。

這是ulimit文檔: http : //ss64.com/bash/ulimit.html

不要忘了它們因用戶而異。


另外,您可以使用PHP-CLI(從命令行)運行腳本,因為它沒有Web服務器強制執行的任何限制。

在您的php.ini中,使max_execution_time = 0

注意:但這不是一個好習慣。

暫無
暫無

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

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