Zend Service Amazon - 内部服务器错误 - 适用于localhost?

时间:2012-11-22 21:15:29

标签: php codeigniter zend-framework amazon internal-server-error

我的Zend Service Amazon软件包集成到我的codeigniter框架中,我遇到了一个非常令人沮丧的问题。该库在我的localhost中工作得非常好,但是当我从实际站点尝试它时它不起作用,它给我一个内部服务器错误。为什么会这样?

PHP日志中的错误是:

  

[2012年11月22日21:29:02] PHP警告:输入中出现意外的字符:/home5/tradejun/public_html/application/controllers/dev.php中的'\'(ASCII = 92)状态= 1第30行   [22-Nov-2012 21:29:02] PHP Parse错误:语法错误,第30行/home5/tradejun/public_html/application/controllers/dev.php中的意外T_STRING

第30行:

$autoloader = new Zend\Loader\StandardAutoloader(array(

这是我的控制器功能:

public function amazon2($isbn)    {
    set_include_path(get_include_path() . PATH_SEPARATOR . 'application/libraries/Amazon');
    require_once 'Zend/Loader/StandardAutoloader.php';

    $autoloader = new Zend\Loader\StandardAutoloader(array(
        'namespaces' => array(
            'Zend'        => dirname(__FILE__) . '/Zend',
            'ZendRest'    => dirname(__FILE__) . '/ZendRest',
            'ZendService' => dirname(__FILE__) . '/ZendService',
        ),
        'fallback_autoloader' => true));

    $autoloader->register();

    $tag       = 'colleg-21'; // replace with your Amazon app ID
    $appId     = '[appid]'; // replace w/ your access key from https://portal.aws.amazon.com/gp/aws/securityCredentials
    $secretKey = '[secretkey]';
    $query  = new ZendService\Amazon\Query($appId, 'UK', $secretKey);
    $item   = $query->itemLookup($isbn,
        array('SearchIndex'   => 'Books',
            'AssociateTag'  => $tag,
            'IdType'        => 'ISBN',
            'ResponseGroup' => 'Large',));
    $item->smallImageAddress = $item->SmallImage->Url->getImageAddress();
    $item->mediumImageAddress = $item->MediumImage->Url->getImageAddress();
    $item->largeImageAddress = $item->LargeImage->Url->getImageAddress();
    $data['item'] = $item;
    $this->load->view('development/amazon',$data);
}

任何人都可以提供任何建议或可能的解决方案吗?

  • 在localhost上工作得很好,但在实时主机服务器上却不能正常工作
  • 我正在使用ZendService_Amazon-2.0.2.zip
  • CodeIgniter版本为2.02

1 个答案:

答案 0 :(得分:0)

它必须是旧版本的php - 不支持命名空间。你需要php 5.3来命名空间。你需要升级。

编辑:更正名称空间所需的版本号;只需要5.3,而不是5.4。谢谢,E_p