gpt4 book ai didi

php - C++、Python 或 PHP,无限循环

转载 作者:行者123 更新时间:2023-11-28 07:10:13 26 4
gpt4 key购买 nike

所以我需要创建一些执行循环来使用 mysql 和 xml(解析它)做一些事情。

为此,我需要使用 PHP 来完成,但正如每个人(php 开发人员)所知,php 对脚本执行有时间限制。所以 php 出局了。

下一个是C++,我想做,但是没有我第一次想的那么简单。

最后一个是python,我认为这是最好的方法,但我对它的了解不深。

所以基本问题是 - python 可以做不定式循环吗?是否存在“脚本执行限制”,或者我可以像 C++ 一样使用 while(true) 创建 while 并且它永远不会结束?

添加:问题已解决,因为找到了不使用 python 的解决方案(这是主要问题)

最佳答案

99.9999% 的时间,数据处理不需要无限循环。我可能会为此使用一个 cron 脚本,而 C++ 完全是大材小用。但是,如果您想要在 PHP 脚本中进行无限循环:

<?php
set_time_limit(0);//no max exec time
while(true)
{
echo 'Still running',PHP_EOL;
}

参见手册here
之后,根据您正在处理的数据集有多大,您可能会达到内存限制(我认为 PHP 使用的默认 RAM 设置为 128M)。这也可以通过更改 php.ini 文件的 memory_limit 来解决。设置为 256M 或更多...或将其设置为 -1 以一起消除内存限制。参见 the man pages here .

<?php
set_time_limit(0);
ini_set('memory_limit', -1);
while(true)
{
//do stuff
if ($foobar === 'whatever') break;//exit script
}

同样,如果脚本是 CLI 脚本,最大执行时间应该已经是无限的了(默认情况下,PHP CLI 模式没有最大执行时间)。如果您的脚本看起来像这样:

<?php
require(realpath(__DIR__.'/lib/Xml.php');//include some script

require 'd 文件不需要调用 set_time_limit同样,因为您只是需要它。想想 require行作为 C 风格的标题:预处理器只获取该文件的内容,并将其粘贴到包含 #include 的源文件中指令


但是,如果您希望进程一直 处于事件状态,并且每隔一段时间就开始运行:看看node.js。与 PHP 或 Python 相比,node 有 1 个不可否认的优势:它在闲置时很棒。而不是 while(true){}循环,使用事件(可能会转化为一些低级别的中断),您很有可能会显着减少系统负载

关于php - C++、Python 或 PHP,无限循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21110027/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com