Php 允许的内存大小134217728字节已用尽(尝试分配24字节)
我试图使用PHP脚本创建Java文件,但出于某种原因,每当我运行此脚本时,屏幕上都会出现以下错误: 致命错误:在C:\filepath\file.php第88行 这是第88行的代码块:Php 允许的内存大小134217728字节已用尽(尝试分配24字节),php,memory-management,programmatically-created,array-push,Php,Memory Management,Programmatically Created,Array Push,我试图使用PHP脚本创建Java文件,但出于某种原因,每当我运行此脚本时,屏幕上都会出现以下错误: 致命错误:在C:\filepath\file.php第88行 这是第88行的代码块: $var1 = explode(".", $filenamee); $var2 = explode(".", $folder); $filename = "extfiles/".$var2[0]."/".$var1[0].".java"; $file = fopen($filename, "c"); $line
$var1 = explode(".", $filenamee);
$var2 = explode(".", $folder);
$filename = "extfiles/".$var2[0]."/".$var1[0].".java";
$file = fopen($filename, "c");
$lines_array = array();
while (!feof($file)) {
$line = fgets($file);
array_push($lines_array, $line); // This is line 88
}
我试图将php.ini
中的内存限制从128MB更改为512MB,但没有成功。我还尝试使用以下方法设置代码的内存限制:
ini_set('memory_limit', '512MB');
但这也不起作用
我能做些什么来解决这个问题?请阅读:
警告
如果传递的文件指针无效,您可能会得到一个无限循环,
因为feof()无法返回TRUE
确保文件指针有效,并将“r”(=读取)传递给模式。尝试以下操作:
ini_set('memory_limit', '512M');
我必须开始我的Drupal 7项目,我被更改为sites/default/settings.php文件,包括最后两行,请检查下面的内容
ini_set('memory_limit', '-1'); // unlimited memory limit
ini_set('max_execution_time', 3000);
为什么要使用“c”作为fopen的模式,它是用来写入文件的,然后再读取文件。你还说你想创建一个文件,但在代码中,你看起来像是在读代码。我需要做的是创建一个Java文件,然后在其中添加一些代码。用什么参数来代替“c”?用c它将创建代码,但您对循环的期望是什么??你的循环从你刚刚创建的文件中读取行。所以要删除循环?我不知道你想做什么=)可能需要在循环中为java文件编写一些代码。然后关闭文件。但是该文件不存在,它应该创建该文件。那么您想做什么?如果调用
fgets
,则表示您正在尝试从文件中读取。如果文件是由fopen
创建的,您希望从中读取什么?