//省略部分代码,关键代码如下。
$file_data = array(
            'file_unique_id'  => $file_unique_id,
            'file_md5'            => $file_md5,
            'file_name'          => $filename,
            'file_type'             => $file_type,
            'appid'                  => $appid
);try{
           $file_id = $grid->storeFile($_FILES['zero_file']['tmp_name'],$file_data);//fs.chunks无碎片
 }catch(MongoException $e){
           echo json_encode(array(
                    'code'     => 30007,
                    'errmsg' => 'storage exception',
                    'info'       => $e->getMessage()
           ));
 }在存储小于80兆文件时一点问题都没有,但是当文件大小到达90兆、100兆时就会抛出异常,如下:
[align=left]Array
(
    [code]       => 30007
    [errmsg]   => storage exception
    [info]         => Could not store file: MongoGridFS::storeFile(): php_network_getaddresses: getaddrinfo failed: Name or servicenot known
)有没有大神遇到过??

解决方案 »

  1.   

    都说MongoDB的Grid FS可以存储大文件,可为什么我这里报错。还是我代码有问题。
      

  2.   

    chunkSize 你设置了多大?
      

  3.   

    这跟chunkSize的设置没有关系吧,我用的是默认的大小,好像是256kb吧,它主要是文件大小一到90兆就不稳定了,捕获到的异常
    Could not store file: MongoGridFS::storeFile(): php_network_getaddresses: getaddrinfo failed: Name or srvicenot known感觉又是php的问题,但是小于80兆的文件存储都非常稳定。
      

  4.   

    这跟chunkSize的设置没有关系吧,我用的是默认的大小,好像是256kb吧,它主要是文件大小一到90兆就不稳定了,捕获到的异常
    Could not store file: MongoGridFS::storeFile(): php_network_getaddresses: getaddrinfo failed: Name or srvicenot known感觉又是php的问题,但是小于80兆的文件存储都非常稳定。
      

  5.   

    Name or srvice not known
    不知道这样的服务器显然是连接后又断开了,那么什么情况会这样呢?
    要不超时,要不崩溃