PHP脚本停止执行许多对象

时间:2013-10-18 18:41:32

标签: php list oop

我有一个脚本,它创建了在用户之间发送的消息的列表实现。 一切正常,直到消息量上升到大约77.000。

对于每条消息,将创建一个对象,并且每个对象都具有对下一个消息对象的引用。

我启用了错误报告并增加了内存限制 - 我没有收到任何错误,http状态代码是200 Ok,即使开发人员控制台告诉我请求失败。

2 个答案:

答案 0 :(得分:0)

如果您已经确认它不是内存限制问题,这可能是PHP的限制....类似于这个问题:

How to Avoid PHP Object Nesting/Creation Limit?

答案 1 :(得分:0)

如果你需要在同一个PHP脚本中使用77000个对象 - 这个架构有问题,php不适合这样的计算(即使它可以在某些情况下处理这个)

跟踪此特定错误尝试在php.ini中设置:

display_errors=1
display_startup_errors=1
error_reporting=-1
log_errors=1
memory_limit=to any reasonable value
max_input_time=to any reasonable value
max_execution_time=to any reasonable value
report_memleaks=1
error_log=writable path

考虑使用xdebug扩展名

不要忘记在更改正确的php.ini后重新启动apache(你可以为apache和cli使用不同的php.ini)

检查代码中是否调用了任何set_error_handler或set_exception_handler函数