У меня небольшая проблема с моим PHP-скриптом. Этот использует Magento API и попытается создать медиа для продукта.
$imageData = array(
'file' => array(
'name' => 'myimage.jpg',
'content' => base64_encode(file_get_contents($product_image_url)),
'mime' => 'image/jpeg'
),
'label' => 'Product Image #4',
'position' => 1,
'types' => array('small_image','image','thumbnail'),
//'types' => array('image'),
'exclude' => 0
);
$image_create = $client->call($sessID, 'product_media.create', array($product_id, $imageData));
$client->call($sessID, 'product_media.update', array($product_id, $image_create));
Когда я запускаю этот скрипт с небольшим изображением (около 10ko, 100x100 пикселей), все работает нормально, но когда я пытаюсь с большим изображением (140k, 500x500 пикселей), мыло возвращает эту ошибку:
SoapFault exception: [HTTP] Internal Server Error in /var/www/vhosts/domain.com/httpdocs/test_update.php:46 Stack trace: #0 [internal function]: SoapClient->__doRequest('__call('call', Array) #2 /var/www/vhosts/domain.com/httpdocs/test_update.php(46): SoapClient->call('068bd88e8f56261...', 'product_media.c...', Array) #3 {main}
Моя идея заключается в том, что длина base64_encode (file_get_contents ($ product_image_url)), когда оно является большим изображением, слишком велика, и затем мыло завершается ошибкой.
Может быть, Apache или PHP conf файл?
Santerref.