我创建了一个递归调用的 cron 文件,它提供了内存分配


I have createed a cron file which is call recursively it gives memory allocation

我在cron文件中使用它,这样它会减慢我的系统ini_set('memory_limit', '-1');。一次又一次我创建了一个递归调用的cron PHP 脚本。它给了我这个错误:

允许的内存大小为 33554432 字节耗尽(尝试分配 43148176 字节)

我已经看到了一些解决方案,例如增加php.ini内存分配限制的大小。但这不是一个永久的解决方案,我想要一个永久的解决方案。如何删除之前堆栈内存的地址?

编辑php.ini是一个永久的解决方案,而使用ini_set设置选项则不是。

对于您在 crontab 中指定的执行的 cronjobs,为了为 cli 配置 php 选项,您应该编辑正确的 ini 文件。

如果 php-SAPI.ini 存在(其中 SAPI 是正在使用的 SAPI,那么,对于 例如,php-cli.ini或php-apache.ini),使用它代替 php.ini. SAPI 名称可以用 php_sapi_name() 确定。

(文档)

要获取加载的 ini 文件位置,请执行:

$ php -i | grep ini
Configuration File (php.ini) Path => /usr/local/etc/php/5.6
Loaded Configuration File => /usr/local/etc/php/5.6/php.ini

因此,就我而言,要为 cron 设置内存限制,我会编辑 /usr/local/etc/php/5.6/php.ini .