Php 当我在AWS中将本地宅地更改为prod时,Laravel抛出SQLite错误
我创建了一个应用程序,它使用Arcon库来创建和操作数据帧,链接(顺便说一句,伟大的库!) 应用程序将创建一个包含重复项的大型数组。我使用Archon的dataframe功能执行groupBy操作,以便获得数组中每个唯一项的计数 这个数组从几百个条目到几千个条目不等 在本地,这很好。我用的是Vagrant和VirtualBox,我有一个宅地盒子在那里。它运行在Ubuntu 64位系统上。 我最近将我的应用程序部署到一个elastic beanstalk实例上,该实例运行在64位Amazon Linux/2.6.6上 部署之后,我收到的错误是Php 当我在AWS中将本地宅地更改为prod时,Laravel抛出SQLite错误,php,linux,laravel,ubuntu,amazon-elastic-beanstalk,Php,Linux,Laravel,Ubuntu,Amazon Elastic Beanstalk,我创建了一个应用程序,它使用Arcon库来创建和操作数据帧,链接(顺便说一句,伟大的库!) 应用程序将创建一个包含重复项的大型数组。我使用Archon的dataframe功能执行groupBy操作,以便获得数组中每个唯一项的计数 这个数组从几百个条目到几千个条目不等 在本地,这很好。我用的是Vagrant和VirtualBox,我有一个宅地盒子在那里。它运行在Ubuntu 64位系统上。 我最近将我的应用程序部署到一个elastic beanstalk实例上,该实例运行在64位Amazon Li
SQLSTATE[HY000]: General error: 1 too many SQL variables
因此,似乎出于某种原因,在更改系统之后,客户端与Arcon构建在不同基础上的SQLite驱动程序进行交互。我不明白为什么这会在本地起作用,但在部署之后就不行了
下面是我正在使用的代码,它会产生错误:
$df = DataFrame::fromArray($batch_array);
$senders_emails = $df->query("SELECT a,sum(b) AS bFROM dataframe GROUP BY 1ORDER BY 2 DESC")->toArray();
是否有人对SQLite/Arcon/Homestead vs EB有足够的了解来提供帮助?
非常感谢 您的
$batch\u数组
数据太多
这样想吧
$sendersEmails = [];
foreach (array_chunk($batch_array, 100) as $chunk) {
$df = DataFrame::fromArray($chunk);
$emails = $df->query("SELECT a,sum(b) AS bFROM dataframe GROUP BY 1ORDER BY 2 DESC")->toArray();
$sendersEmails = array_merge($sendersEmails, $emails);
}
注意:这可能会导致内存溢出
要从根本上解决这个问题,需要减少$batch\u array
数据量
感谢您的回答和您的帮助。我理解这是由于数组的大小,但是为什么同一个数组在本地工作得很好?这似乎与机器/环境设置有关?是的,通常是由环境@shaunpreston的差异引起的。您知道多少差异吗?希望了解幕后发生的事情……对不起,这真的很难说清楚,现在的错误是什么@肖恩普斯顿