首页 > 解决方案 > 如何处理过多的内存使用?我的代码导致“500 内部服务器错误”!

问题描述

我在 mysql 数据库中有 850 个 youtube 视频的列表。我需要检查它们是否仍然存在。如果它不存在,它会更新数据库。我的代码适用于像 20 个视频这样的小输入,但对于 850 个输入,它会使用过多的内存并导致 500 内部服务器错误。有没有办法把这项工作分成小部分,或者有没有办法检查视频是否存在?

$SQL = "SELECT * FROM tbl_channels WHERE status = 1";

$result = mysqli_query($mysqli,$SQL)or die(mysqli_error());

$body = "";

$i = 0;

while($row = mysqli_fetch_assoc($result)){

    $channel_url = $row['channel_url_ios'];

    $youtube_id = substr($channel_url, strpos($channel_url, "=")+1);

    $youtube_id." = ";

    $image_url = "https://img.youtube.com/vi/".$youtube_id."/0.jpg";

    //echo $image_url;

    $size = getimagesize($image_url);



    if(!$size){
        echo "image_not_found"."\n"."<br>";
        Update('tbl_channels', array('status'=> 0), 'id='.$row['id'].'' );
        $i++;
        $body.=$i."- ".$row['channel_title']."\n";

        //Delete('tbl_channels','id='.$row['id'].'');

    }else{
        echo "image found \n"."<br>";
    }
}

标签: phpmysqlgetimagesize

解决方案


推荐阅读