PHP set_time_limit无效 - php

我有一个非常痛苦的慢脚本,该脚本从MySQL获取大量数据并从中创建大量报告,并最终以应用程序/强制下载的形式提供给用户。

长话短说,在生产服务器上,它会在大约30秒后终止(相当稳定),然后吐出一个空文件。在开发服务器上,它可以正常工作,但是执行时间却要长得多-大约90秒。为了安全起见,我将php.ini文件设置为max_execution_time = 2000,并在脚本的开头运行了set_time_limit(4000)(在预期的完成时间范围内采用数字方式,但是请确保;)。

是什么导致我的Web服务器忽略我设置的时间限制,而仅在30秒后退出了?

编辑:我可以确定的一件事是,它需要8-9秒的时间来完成MySQL代码的一部分,并且每次都成功超过该点。

参考方案

也许是PHP safe_mode。

尝试做一个

die(ini_get('max_execution_time'))

在调用set_time_limit(0);后,读取该值以查看它是否实际上被覆盖。

如果它被覆盖为0并且脚本仍然死掉,则原因可能是代码中的其他地方

这是什么时间格式? - php

我这次从API返回这种时间格式:1287498792000 谁能建议它是什么格式,以及我将如何在PHP中解析它? 参考方案 此格式是自1970-01-01起的毫秒数。如果我没记错的话,你的日期代表2010-10-19 @ 14h33。只需将其除以1000,然后将标准php函数用于Unix时间戳,例如date即可显示它,或使用getdate提取不同部分。

生成密码重置密码 - php

我正在做一个允许用户重设密码的模块。我注意到大多数网站如何提供确认链接,其中包含具有唯一哈希值的查询字符串。我的问题是:每次同一用户请求忘记密码时,如何生成此唯一哈希?我是否应该将此哈希存储在数据库中,以后再用于验证?会安全吗?还是应该创建某种算法来生成一次性密码?如何生成OTP? 参考方案 是的你应该生成随机重置令牌。参见例如this answer。将其存…

将UTC转换为Unix时间戳 - php

我正在解析具有时间和日期为UTC的RSS feed,我需要将其转换为unix时间戳。有没有简单的方法可以做到这一点? 参考方案 http://us2.php.net/manual/en/function.strtotime.php

PHP-将日期插入日期时间字段 - php

我已在数据库中使用datetime字段存储日期,使用PHP将“今天的日期”插入该字段的正确方法是什么?干杯, 参考方案 我认为您可以使用php date()函数

PHP-如何获取类的成员函数列表? - php

如果我知道班级的名字。有没有办法知道类的成员函数列表? 参考方案 get_class_methods()是你的朋友