首页 > 解决方案 > 意外停止在 php exec wget 游行中

问题描述

我正在运行代码以从我的服务器下载媒体,并且看起来正确。在它运行了几个循环之后,它意外地停止了。下载一个大文件(几乎 1Gb)后,它停在 'echo "66666666"' 处,不再前进。

我在 linux 上运行它使用 'nohup php -f mycode.php > nohup.out &' 来运行代码后台。并使用 nohup.out 查看发生了什么。首先,我认为这是代码的问题,但在我尝试了一些小文件(数百 Mb 或更多小文件)之后,它工作正常。所以我更改了 php 的 max_execution_time,但它仍然无法处理大文件。

    for($i=0;$i<count($list);$i++)
    {
        if(!($list[$i]['name'] == 'index.html'))
        {
            echo "coming in \n";
            if(pathinfo($list[$i]['name'],PATHINFO_EXTENSION) == 'wmv' || pathinfo($list[$i]['name'],PATHINFO_EXTENSION) == 'mkv' || pathinfo($list[$i]['name'],PATHINFO_EXTENSION) == 'mp4' || pathinfo($list[$i]['name'],PATHINFO_EXTENSION) == 'webm')
            {
                exec("wget 'http://*.*.*.*/".$list[$i]['name']."'");
            }   
            echo "666666666666666666";
        }
    }

标签: phpexecwget

解决方案


推荐阅读