我可以在 PHP 中为一个函数定义时间限制吗?
Can I define time limit for one function in PHP?
我正在为 PHP 电子商务系统制作模块。这个系统数据库有2000个产品。我需要在一天内更新所有产品(某些值)。我不想一次更新所有产品。
我尝试在访问者打开某个页面时每隔一段时间更新 100 个产品(模块已挂钩 init - header)。在这里我想给时间限制。如果这 100 个产品在 20 秒内没有更新,请中断并将最后更新的产品 ID 写入数据库。
我该怎么做?这个函数怎么知道 20 秒后中断?
您可以为整个 PHP 脚本设置时间限制。所以你可以把这个函数移出到单独的脚本中,在那里设置时间限制,然后运行它作为子进程。
我推荐使用 Symfony Process 组件(可以在没有 Symfony 的情况下使用):
http://symfony.com/doc/current/components/process.html
使用它,您甚至可以从主进程设置时间限制:
http://symfony.com/doc/current/components/process.html#process-timeout
我正在为 PHP 电子商务系统制作模块。这个系统数据库有2000个产品。我需要在一天内更新所有产品(某些值)。我不想一次更新所有产品。
我尝试在访问者打开某个页面时每隔一段时间更新 100 个产品(模块已挂钩 init - header)。在这里我想给时间限制。如果这 100 个产品在 20 秒内没有更新,请中断并将最后更新的产品 ID 写入数据库。
我该怎么做?这个函数怎么知道 20 秒后中断?
您可以为整个 PHP 脚本设置时间限制。所以你可以把这个函数移出到单独的脚本中,在那里设置时间限制,然后运行它作为子进程。
我推荐使用 Symfony Process 组件(可以在没有 Symfony 的情况下使用):
http://symfony.com/doc/current/components/process.html
使用它,您甚至可以从主进程设置时间限制:
http://symfony.com/doc/current/components/process.html#process-timeout