我一直收到这样一个神秘的错误记录:
PHP Fatal error: Allowed memory size of 1073741824 bytes exhausted (tried to allocate 134217736 bytes) in C:\BLABLABLA\unrelated.php on line 24
当然,unrelated.php不是执行实际函数调用的脚本。它只是我的框架中许多具有包装器功能的文件之一。
我的扩展PHP记录器,它使用debug_backtrace()来循环并记录导致错误的函数调用的“完整链”。然而,在这种情况下,即使是我的“聪明”记录器也没有做到:
A
在PHP中,array_slice()是否能很好地处理不能是paginated的大数据array,因为它不是存储在database中,而是在其他db tables上计算的。
总之,我有一个array of 50k,它可能会在以后增加。第一次在页面加载时,获取所有50k记录,,然后将其用于ajax based pagination。这会不会导致将来出现server load,因为所有的records都是在页面加载上获取的。
我正在用VBscript编写代码,它打开一个记录集对象,然后用包含来自每个记录的数据的对象加载一个数组。我的记录集类型不支持rs.RecordCount属性,所以我要么需要在循环遍历记录集时重新打开数组,要么在执行计数循环后重新打开记录集,因为在计数循环之后使用rs.MoveFirst似乎不起作用.哪个更快?记录集对象中最多只有7条记录,所以最多需要多次ReDim。
这是我尝试过的一种方法,但rs.MoveFirst似乎不能正确工作,请参阅注释:
Function LoadData(filter_val)
Dim arr
Dim rs
'Calls function
我这里有一小段代码:
<?php
//logic to connect to database and rest of the settings.
// ...................//
$res = mysql_query("select * from account"); //returns 1200 records
while($row = mysql_fetch_array($res)){
//some of the logical operations performed here.
i
有什么问题?
当我使用表单添加文件时,$_POST变量是未定义的。当我不添加文件时,就定义了$_POST变量。
您收到了哪些错误?
Notice: Undefined index: bbmpin in C:\...\addpin.php on line 6
Notice: Undefined index: usermsg in C:\...\addpin.php on line 7
源代码
index.html
<form method="POST" action="addpin.php" enctype="multipart/form-data
我在我的生产站点上收到了大量的警告。喜欢
PHP: Require_once(): Unable To Allocate Memory For Pool
我知道它是由APC引起的,在我增加了shm_size,减少了gc_ttl之后,它消失了。但我的疑问是,它是如何在网页中显示警告的?我已经禁用了display PHP errors,只是记录它,它不会在网站中显示任何PHP错误。
为了测试这一点,我特意创建了一个脚本,它会抛出PHP警告和通知,是的,据我所知,这些脚本只是记录下来的,而不是像APC错误那样显示的。
那么,如何在生产现场禁用APC警告呢?(万一再次发生)
我刚刚意识到,在MVC模式方面,我可能没有遵循最佳实践。
我的问题是我的观点“知道”关于我的数据库的信息。
这是我在psuedo代码中的情况..。
我的控制器从我的模型中调用一个方法并直接传递给视图。
view.records = tableGateway.getRecords() // gets array of records
view.display()
在我看来
each records as record
print record.name
print record.address
...
在我看来,我有记录.、名称、和信息,它们都是硬编码到我的数据库中的。这
foreach ($_POST['ECL'] as $lt) {
//SQL select statements are run. Each $lt is a where condition where results are obtained from the DB.
}
我想数一下每一个结果,然后把它加起来。总数将是获得的记录。我可以得到每一个$lt的记录计数,但我无法对它们进行求和。所有的帮助都将不胜感激。
更新$lt的数量不固定。 $lt可以是1,2,3,4.像$i++这样的计数器不工作