【问题标题】:Create media - Magento API (Soap)创建媒体 - Magento API (Soap)
【发布时间】:2011-11-29 04:00:39
【问题描述】:

我的 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 像素)时,soap 返回此错误:

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)) 的长度太大,然后 Soap 失败。

可能是 Apache 或 PHP conf 文件?

桑特雷夫。

【问题讨论】:

    标签: php xml magento soap media


    【解决方案1】:

    是的,PHP 或 Apache 很可能会导致此错误。检查您的 Apache error_log 是否有任何线索。一些可能的PHP configuration 选项:

    • max_execution_time
    • memory_limit
    • post_max_size
    • upload_max_filesize

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多