【发布时间】:2017-07-23 06:53:48
【问题描述】:
我正在尝试使用 PHP 脚本创建 Java 文件,但由于某种原因,每当我运行此脚本时,屏幕上都会出现以下错误:
致命错误:在 C:\filepath\file.php 行 88 中已用尽 134217728 字节的允许内存(尝试分配 24 字节)强>
这是第 88 行的代码块:
$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');
但这也没有用。
我能做些什么来解决这个问题?
【问题讨论】:
-
为什么你使用 'c' 作为 fopen 的模式,它是用于写入和读取之后的文件。你还说你想创建文件,但在代码中看起来你已经阅读了代码。
-
我需要做的是创建一个Java文件,然后在其中添加一些代码。用什么参数代替“c”?
-
使用 c 它会创建代码,但是您对循环的期望是什么?您从刚刚创建的文件中循环读取行。
-
所以要删除循环?
-
我不知道你想做什么 =) 可能是你需要在循环中编写一些代码到 java 文件。然后关闭文件。
标签: php memory-management programmatically-created array-push