代码本来可以工作,但突然停止工作了


code was working, but suddenly stopped working

这段代码打开一个文本文件,然后检查文本文件中的每个单词是否存在于另一个大的2MB字典文件中。

如果存在,它将字典文件中的行存储到一个变量中。

代码正常工作,但随后开始生成Server 500错误,现在它只列出大约7个匹配项,然后永远不加载任何内容。

它用来列出1000个匹配项,然后停止。

$file_handle = fopen("POSdump.txt", "r");
while (!feof($file_handle)) {
   $line = fgets($file_handle);
   $words= explode(" ", $line ); 
   foreach ($words as $word) {
       $word = preg_replace('#[^'w+>'s'':-]#', ' ', $word);                
       $subwords= explode(" ", $word );
       $rawword = $subwords[0];   
       $poscode = $subwords[1];
       $rawword = strtoupper($rawword);       

             $handle = fopen("dictionary.txt","r"); // 
             if ($handle) {
               while (!feof($handle)) 
                           {
                      $buffer = fgets($handle, 4096); 
                        if (preg_match('#'b'.$rawword.''b#',$buffer)) {

                        echo $rawword;
            echo "</br>";

                 }
             }
         }
     }
}
?>

完成后尝试关闭文件

这似乎是memory_limit错误。在启动进程之前使用ini_set('memory_limit', -1)