相关疑难解决方法(0)

PHP命令行脚本忽略了php.ini和ini_set('memory_limit',...)指令

我面临着常见的"致命错误:内存不足(分配30408704)(试图分配24个字节)......"PHP致命错误.通过Apache提供的页面没有表现出这种行为.

我尝试过以下方法:

  1. 将php.ini中的memory_limit增加到更大的值.
  2. 通过调用脚本本身内增加memory_limit的ini_set('memory_limit', -1), ini_set('memory_limit', '-1'), ini_set('memory_limit', 100000000),ini_set('memory_limit', '128M'),等.
  3. unset()不需要的数组和对象,以鼓励垃圾收集器释放内存.
  4. 联系网络主机.他们通常非常有能力和知识渊博,但也无法帮助我解决这个问题.
  5. 我已经尝试使用-c命令行标志显式包含一个php.ini文件来手动选择具有各种值的特定php.ini文件.
  6. 我已经尝试使用原始字节数和64M,128M等值设置php.ini中的memory_limit.
  7. 托管服务提供商能够以root身份运行脚本,没有任何问题,但遇到了我使用非root用户运行时遇到的相同问题.也许涉及某种权限问题?

无论我尝试什么,错误信息都是一样的.我的命令行脚本似乎忽略了对它的更改memory_limit.

我倾向于尝试确保我的脚本具有内存效率,但我现在需要通过简单的HTML DOM解析大量的HTML,并且它在解析器中遇到了内存不足的问题.为了减少脚本的内存占用,我尝试使用DOMDocument.这也无济于事.实际上,现在在脚本的其他地方触发了内存不足错误.

我的问题:有没有人遇到过这个或类似的问题?你有什么建议?

谢谢.

php domdocument simple-html-dom memory-limit

4
推荐指数
1
解决办法
6244
查看次数

标签 统计

domdocument ×1

memory-limit ×1

php ×1

simple-html-dom ×1