2015-05-19 11 views
7

Sto avendo problemi con il caricamento di file di grandi dimensioni utilizzando Guzzle (5.2.0)non riesco a caricare i file di grandi dimensioni con PHP gozzovigliare

ho aggiunto l'ascoltatore evento progress e ottenuto questo output:

Downloaded 0 of 0 Uploaded 966656 of 1467594 
Downloaded 0 of 0 Uploaded 983040 of 1467594 
Downloaded 0 of 0 Uploaded 999424 of 1467594 
Downloaded 0 of 0 Uploaded 1015808 of 1467594 
Downloaded 0 of 0 Uploaded 1032192 of 1467594 
Downloaded 0 of 0 Uploaded 1048576 of 1467594 
Downloaded 0 of 0 Uploaded 1064960 of 1467594 
Downloaded 0 of 0 Uploaded 1081344 of 1467594 
Downloaded 0 of 0 Uploaded 1097728 of 1467594 
Downloaded 0 of 0 Uploaded 1114112 of 1467594 
Downloaded 0 of 0 Uploaded 1130496 of 1467594 
Downloaded 0 of 0 Uploaded 1146880 of 1467594 
Downloaded 0 of 0 Uploaded 1146880 of 1467594 
Downloaded 0 of 0 Uploaded 1146880 of 1467594 
Downloaded 0 of 0 Uploaded 1146880 of 1467594 
Downloaded 0 of 0 Uploaded 1146880 of 1467594 
Downloaded 0 of 0 Uploaded 1146880 of 1467594 
Downloaded 0 of 0 Uploaded 1146880 of 1467594 
Downloaded 0 of 0 Uploaded 1146880 of 1467594 
Downloaded 0 of 0 Uploaded 1146880 of 1467594 
Downloaded 0 of 0 Uploaded 1146880 of 1467594 
Downloaded 0 of 0 Uploaded 1146880 of 1467594 
Downloaded 0 of 0 Uploaded 1146880 of 1467594 
Downloaded 0 of 0 Uploaded 1146880 of 1467594 

Sembra bloccarsi a 1146880 byte ogni volta, si blocca e quindi colpisce il timeout del ricciolo.

Ecco come sto formattare la richiesta guzzle:

$client = new \GuzzleHttp\Client(); 
$endpoint = 'http://myendpoint.com' 

$file = new splfileobject('/path/to/file') 

$options = [ 
    "body" => [ 
     "file" => fopen($file->getRealPath(), 'r') 
    ] 
] 

$client->post($endpoint, $options); 

Quando si passa ad usare ricciolo prime, sono in grado di caricare l'immagine utilizzando la sintassi '@nomefile'.

Qualche idea? grazie !

+0

FYI Ho il mio php.ini post_max_size e upload_max_filesize entrambi impostati su 50m – mikeklein

+0

Possibile duplicato di http://stackoverflow.com/questions/32359664/guzzle-5-3-unable-to-post-json-body-if -larger-che-1MB. – localheinz

risposta

1

Hai provato questo?

"file" => "@" . $file->getRealPath() 

ho scoperto che questo ragazzo ha avuto problemi simili - http://alex-panshin.me/blog/file-upload-with-guzzle/

Credo che stava ricevendo un 413 (richiesta è troppo grande) - Che errore di risposta HTTP (se presente) vuoi arrivare?

vedere questo per ulteriori informazioni https://craftcms.stackexchange.com/a/2330

Se tutto il resto fallisce cercare di catturare le intestazioni stabilite quando si utilizza ricciolo e quelli insieme quando si utilizza Guzzle e capire se c'è una differenza.

Problemi correlati