谷歌翻译卷曲使用php 5.3.8中的Up All Memory

时间:2011-10-26 01:28:51

标签: php curl translation

我一直用它来将基本网站文本翻译成不同的语言。它一直运行良好,直到我更新到PHP 5.3.8。它通过耗尽所有内存完全取下了我的服务器。我究竟做错了什么?我肯定会说我会得到很多评论:))

try {
    $gt = new Gtranslate;
    $gt->setRequestType('curl');

    $SQL    = "SELECT * FROM PAGE_CONTENT WHERE live_page = '1'";
    $result = mysql_query($SQL);
    while ($row = mysql_fetch_array($result)) {
        $page_id_sub    = $row["page_id"];
        $page_title     = $row["page_title"];
        $page_permalink = $row["page_permalink"];

        if (empty($mylang)) {
            echo "<a href='/$permalink/$page_permalink.html'>$page_title</a> |";
        } else {
            $page_trans = $gt->$mylang("$page_title");
            echo "<a href='/$permalink/$page_permalink.html'>$page_trans</a> |";
        }
    }
} catch (GTranslateException $ge) {
    echo $ge->getMessage();
}

1 个答案:

答案 0 :(得分:6)

我会像这样调试,以检查哪个进程卡住了。

<?php

echo "\n start: " . memory_get_usage() . "\n";

  try{
    $gt = new Gtranslate;
    $gt->setRequestType('curl');

    echo "\n after class: " . memory_get_usage() . "\n";

    $SQL = "SELECT * FROM PAGE_CONTENT WHERE live_page = '1'";
    $result = mysql_query( $SQL );

    echo "\n after query: " . memory_get_usage() . "\n";

    while( $row = mysql_fetch_array( $result ) ) {
      $page_id_sub = $row["page_id"];
      $page_title = $row["page_title"];
      $page_permalink = $row["page_permalink"];

      if(empty($mylang)){
         echo "<a href='/$permalink/$page_permalink.html'>$page_title</a> |";
      }
      else {
         $page_trans = $gt->$mylang("$page_title");
         echo "<a href='/$permalink/$page_permalink.html'>$page_trans</a> |";
      }
    }
    echo "\n after while: " . memory_get_usage() . "\n";

  }
  catch (GTranslateException $ge){
    echo $ge->getMessage();
  }

echo "\n end: " . memory_get_usage() . "\n";