错误PHP-无法分配内存(laravel+;aws)

错误PHP-无法分配内存(laravel+;aws),php,laravel,amazon-web-services,nginx,Php,Laravel,Amazon Web Services,Nginx,我正在amazon上创建一个服务器,但我遇到了一个无法解决的错误 我的错误图像: 对于那些不知道该命令的人,它只是运行一个脚本来在数据库中创建表。我不明白一个在数据库中创建50个表的简单例程如何消耗同样多的资源 当我尝试运行以下命令时出错:php artisan migrate 我有50次迁移,但我认为问题不在于迁移的数量 几个小时以来,我一直在谷歌上寻找解决方案,但我找不到。 我已经在php.ini文件中尝试了:memory_limit=128M,但没有解决问题 在我本地的机器上,一切都很完

我正在amazon上创建一个服务器,但我遇到了一个无法解决的错误

我的错误图像:

对于那些不知道该命令的人,它只是运行一个脚本来在数据库中创建表。我不明白一个在数据库中创建50个表的简单例程如何消耗同样多的资源

当我尝试运行以下命令时出错:php artisan migrate 我有50次迁移,但我认为问题不在于迁移的数量

几个小时以来,我一直在谷歌上寻找解决方案,但我找不到。 我已经在php.ini文件中尝试了:memory_limit=128M,但没有解决问题


在我本地的机器上,一切都很完美。我使用的是亚马逊aws的t2micro(免费)机器

您的aws中是否启用了“交换”?你的PHP版本是什么?因为PHP“5.4.11”中也有同样的错误,还有什么是composer版本

首先,我想说从php.ini增加内存限制并检查时间限制:

memory_limit =  2 GB ?
set_time_limit(0);
ini_set('memory_limit', '20000M');

听起来您的laravel安装有问题。如果不在计算机本地,则很难诊断此问题,但请尝试使用以下命令从composer和laravel中清除缓存:

卸载自动加载laravel安装。这将重新生成需要包含在项目中的所有类的列表

composer dump-autoload
清除laravel安装的缓存

php artisan cache:clear
解决方案由OP

导致问题的原因是mysql的连接驱动器。使用此命令,一切正常:

apt-get install php7.0-mysql

打开
system monitor
并转到
resources
选项卡,重新运行PHP并监视资源的使用量/你有多少?试试这个,它对我有用。检查投票最多的答案:其他命令如何为您工作,如php artisan route:list?@RenatoSouzadeOliveira这似乎表明您的安装存在问题,正如我的答案所示。我以前遇到过这个问题,我必须使用下面指定的命令重新创建我的Laravel类。我不得不停止我的nginx-mysql和其他php-Fpm,为composer提供服务器资源来完成自动加载。完成后,它运行良好。为什么不在中型或大型实例类型上尝试它,看看它的行为如何?我使用的是PHP7.0.22,Composer版本1.6.2。我将尝试增加时间,看看会发生什么。由于OP是在命令行上运行此命令,我认为最好注意命令行选项,以避免编辑php.ini的额外步骤:
$php-d memory\u limit=20000M artisan migrate
868220928字节,表示0.86 GB,尝试使限制2GB这似乎不太可能-如果这是一个问题,我预计会出现“无法加载类XXX”这样的错误。你知道缓存中存储的东西可能导致内存泄漏吗?@HPierce我今天安装的东西是laravel广播。广播使用redis。但我甚至没有在亚马逊服务器上安装redis。在laravel合成器中被引用的简单事实是否已经占用了内存?如果您甚至不能运行php artisan route:list,那么这意味着您的安装有问题。我有两个数据库(其中一个数据库大小为20GB)和一个python应用程序,在我的t2.micro上有两个web服务器主机,没有问题。尝试在交互模式(php-a)下运行php,并在php命令提示符下运行类似phpinfo()的命令。如果这样做有效,那么我怀疑你的laravel安装有问题。@Renatosouzadeodeoliveira,你试过我提供的命令吗?他们帮忙了吗?你救了我一天+1