当我在终端中运行命令时
php artisan queue:work
我收到错误:
mmap() failed: [12] Cannot allocate memory PHP Fatal error: Out of memory (allocated 10303311872) (tried to allocate 262144 bytes) in /var/www/html/grubily/vendor/illuminate/container/Container.php on line 575
mmap() failed: [12] Cannot allocate memory PHP Fatal error: Out of memory (allocated 10303311872) (tried to allocate 262144 bytes) in /var/www/html/grubily/vendor/laravel/lumen-framework/src/Concerns/RegistersExceptionHandlers.php on line 65
我的 Droplet 配置是:
8 GB 内存/40 GB 磁盘/NYC3 - 16.04 上的 Ubuntu WordPress 4.7
我还创建了交换文件
最佳答案
您的脚本内存不足。 我建议您通过在内存中加载较少量的信息来优化代码,例如,以较小的 block 处理加载的数据。(262144 字节约为 2.1 Mb)
如果您仍然喜欢一次加载所有内容,您仍然可以增加 php 的可用内存:
$memory_limit = ini_get('memory_limit');
ini_set('memory_limit','4M');
// process your data
// reset previous limit
ini_set('memory_limit',$meḿory_limit);
关于php - laravel队列:work out of memory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46948930/