我在打开和阅读2gb csv文件的内容时遇到了问题.每次我运行脚本都会耗尽服务器内存(10GB VPS云服务器)然后被杀死.我已经制作了一个测试脚本,并想知道是否有人可以看看并确认我没有做任何愚蠢的事情(php明智),这将导致看起来和非常大量的内存使用量.我已经和我的托管公司谈过,但他们似乎认为这是一个代码问题.所以只是想知道是否有人可以查看这个并确认代码中没有任何内容会导致此类问题.
此外,如果你处理2GB的csvs,你之前是否有类似的东西?
谢谢
蒂姆
<?php
ini_set("memory_limit", "10240M");
$start = time();
echo date("Y-m-d H:i:s", $start)."\n";
$file = 'myfile.csv';
$lines = $keys = array();
$line_count = 0;
$csv = fopen($file, "r");
if(!empty($csv))
{
echo "file open \n";
while(($csv_line = fgetcsv($csv, null, ',', '"')) !== false)
{
if($line_count==0) {
foreach($csv_line as $item) {
$keys[] = preg_replace("/[^a-zA-Z0-9]/", "", $item);
}
} else {
$array = array();
for ($i = 0; $i <count($csv_line); $i++) {
$array[$keys[$i]] = $csv_line[$i];
}
$lines[] = (object) $array; …Run Code Online (Sandbox Code Playgroud)