Oli*_* A. 5 php memory-management memory-limit
我遇到了崩溃的ION-Cube模块的问题.该模块将csv数据导入我们的数据库,但如果csv文件为大(15 + M),则结果是内部服务器错误.
支持人员告诉我,我的服务器没有足够的RAM来运行模块.服务器内置了1GB的RAM,所以我写了一个简单的测试脚本来检查ini_set是否有效.
<pre>
<?php
function tryAlloc($megabyte){
echo "try allocating {$megabyte} megabyte...";
$dummy = str_repeat("-",1048576*$megabyte);
echo "pass.";
echo "Usage: " . memory_get_usage(true)/1048576;
echo " Peak: " . memory_get_peak_usage(true)/1048576;
echo "\n";
}
for($i=10;$i<1000;$i+=50){
$limit = $i.'M';
ini_set('memory_limit', $limit);
echo "set memory_limit to {$limit}\n";
echo "memory limit is ". ini_get("memory_limit")."\n";
tryAlloc($i-10);
}
?>
</pre>
Run Code Online (Sandbox Code Playgroud)
这没有任何问题.这次测试有什么重大缺陷吗?我们在使用此模块时遇到了很多麻烦,并且支持人员一直告诉我们问题是我们的服务器.-.-
PS:不,我无法访问php.ini.不,我不能使用.htaccess来设置内存限制.不,我无法编辑修复/调试模块.