php - laravel队列:work out of memory

标签 php mysql laravel-5 laravel-4 lumen

当我在终端中运行命令时

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/

相关文章:

php - 修改 Laravel 中的用户表

php - laravel 5.2 仅从 mysql 返回 int

php - 需要在 PHP 正则表达式中匹配多个反斜杠

php - 如果登录名错误,不会收到错误消息,只是空白 div,但如果用户名正确,我可以检测到错误的密码

mysql - 在sql中递归地生成一个句子

php - Laravel - 从两个数据透视表中获取计数作为一个数字

mysql - 如何使用laravel向mysql数据库插入数据

php - 基本的 Mysql 和 PHP 会计应用程序

java - 适用于任何语言的不同 gearman 库

php连接以显示来自另一个文件的数据