繁体   English   中英

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

[英]Google Translate Curl Using Up All Memory in php 5.3.8

我一直用它来将基本站点文本翻译成不同的语言。 它一直运行良好,直到我更新到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();
}

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

<?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";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM