我正在尝试创建一个脚本来创建唯一代码并将它们写入文本文件。我已经设法生成代码,并将它们写入文件。
现在我的问题是我的循环一直在运行,导致在服务器超时之前将超过 92 000 个代码写入文件。
我做了一些日志记录,似乎一切正常,只是在几秒钟后,我的所有变量都被重置,一切都从头开始。发生这种情况的时间间隔不时变化。
我已经ini_set('memory_limit', '200M'); ini_set('max_execution_time',0);
在我的脚本顶部设置了。也许我缺少一个 php 超时设置?
该脚本是控制器中的一个函数。我在这个函数的开头设置了 ini_set。这是我正在经历的循环:
public function generateAction() {
ini_set('memory_limit', '200M');
ini_set('max_execution_time',0);
$codeArray = array();
$numberOfCodes = 78000;
$codeLength = 8;
$totaalAantal = 0;
$file = fopen("codes.txt","a+");
while(count($codeArray)<$numberOfCodes){
$code = self::newCode($codeLength);
if(!in_array($code,$codeArray))
{
$totaalAantal++;
$codeArray[] = $code;
fwrite($file,'total: '.$totaalAantal."\r\n");
}
}
fclose($file);
}
在文件中,这将给出如下内容:
total: 1
total: 2
total: ...
total: 41999
total: 42000
total: 1
total: 2
total: ...
total: 41999
total: 42000
谢谢。
编辑:到目前为止,我们已经确定 generateAction() 被调用 2 或 3 次,在脚本结束之前,它应该只被调用一次。