duncanb7
asked on
Out of memory at file_put_contents() NOT related memory_limt, execution time, input_time in php
Fatal error on file_put_contents() NOT related memory_limt, execution time, input_time in phpQuestion: Dear Experts,
I get one php script, csvextract.php, as attached in code area, and I found the error message
"Fatal Error: Out of memory(allocated 3123000)(tried to allocate 71 bytes) in /home/.../csvextract.php line 17"
at the line 17 is exactly at file_put contents() function location.
And I already check my php.ini file and .htaccess file, those are already setting correct memory_limit=128M,
max_execution_time=0, max_input_time=-1, so I believe the error message is NOT related to
memory_limit, max_input_time, max_exexcution_time.
SO what other factors or setting in php.ini will affect the file_put_contents() function ? Is the fatal error
related to magic_quotes_sysbase() and magic_quotes_runtime() ? I got confused about how to use
magic_quotes_sysbase!
When I cut down the file of "data.csv" file size by half or number of row in the file by half,
it is passed and no any error message.So I suspect $csv variable to store the array from file() can NOT
be too much size. Do you think so.? Is there any setting in php.ini related to parsing variable size like $csv as follows
Be reminded my fatal error message is out of memory(allocated 3123000)(tried) and NOT "Allowed memory size 100k exhausted"
If memory_limit is not set correctly, it will report error like " Allowed memory size 100k exhausted" for example only
Please advise
Duncan
I get one php script, csvextract.php, as attached in code area, and I found the error message
"Fatal Error: Out of memory(allocated 3123000)(tried to allocate 71 bytes) in /home/.../csvextract.php line 17"
at the line 17 is exactly at file_put contents() function location.
And I already check my php.ini file and .htaccess file, those are already setting correct memory_limit=128M,
max_execution_time=0, max_input_time=-1, so I believe the error message is NOT related to
memory_limit, max_input_time, max_exexcution_time.
SO what other factors or setting in php.ini will affect the file_put_contents() function ? Is the fatal error
related to magic_quotes_sysbase() and magic_quotes_runtime() ? I got confused about how to use
magic_quotes_sysbase!
When I cut down the file of "data.csv" file size by half or number of row in the file by half,
it is passed and no any error message.So I suspect $csv variable to store the array from file() can NOT
be too much size. Do you think so.? Is there any setting in php.ini related to parsing variable size like $csv as follows
Be reminded my fatal error message is out of memory(allocated 3123000)(tried) and NOT "Allowed memory size 100k exhausted"
If memory_limit is not set correctly, it will report error like " Allowed memory size 100k exhausted" for example only
Please advise
Duncan
<?php
ini_set('max_execution_time', 0);
ini_set('max_input_time', -1);
ini_set('memory_limit', '128M');
ini_set('post_max_size', "128M");
ini_set('upload_max_filesize', "128M");
$csv=file("data.csv");
$e=count($csv);
$line=array();
for ($a=$e-1; $a > 0; --$a) {
$line= explode(",",$csv[$a]);
$line[4]=$line[4]+100;
$line[36]="a";
$line[37]="aa";
$line[38]="bb";
$line[39]="cc";
$line[40]="\n";
$csv= implode(",",$line);
}
file_put_contents("data.csv",$csv);
?>
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
$new_csv[$a] = implode(',', $line);
Try the new variavel of $new_csv
nad file_put_contents("data.cs v", $new_csv);
But all is same to get the same error message
Try the new variavel of $new_csv
nad file_put_contents("data.cs
But all is same to get the same error message
ASKER
I can't go into the line http://ar.php.net.manual/en/function.forgets.php , Why it is empty?
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Thanks for your reply,
the issue is solved finally
the issue is solved finally
ASKER