修复Amazon PHP SDK中的错误

修复Amazon PHP SDK中的错误,php,amazon-web-services,amazon-s3,Php,Amazon Web Services,Amazon S3,嗨,我正在使用AmazonPHPSDK上传到s3。我在前端使用fineuploader jQuery插件。最近我的托管PHP版本升级到了PHP5.4.34,而不是上传系统坏了,当我查看日志时,我看到了这个错误 <br /> <b>Fatal error</b>: Uncaught exception 'LogicException' with message 'Illegal value passed (no array or string given)'

嗨,我正在使用AmazonPHPSDK上传到s3。我在前端使用fineuploader jQuery插件。最近我的托管PHP版本升级到了PHP5.4.34,而不是上传系统坏了,当我查看日志时,我看到了这个错误

<br />
<b>Fatal error</b>:  Uncaught exception 'LogicException' with message 'Illegal value passed (no array or string given)' in /home/on2dvd/public_html/fineuploader/aws/aws-autoloader.php:1270
Stack trace:
#0 /home/on2dvd/public_html/fineuploader/aws/aws-autoloader.php(1270): spl_autoload_register(NULL, true)
#1 /home/on2dvd/public_html/fineuploader/s3/s3handler.php(27): require('/home/on2dvd/pu...')
#2 {main}
  thrown in <b>/home/on2dvd/public_html/fineuploader/aws/aws-autoloader.php</b> on line <b>1270</b><br />

大家好,我在这里找到了解决问题的方法

我从上面的url使用了这个函数,它解决了我的问题

function autoload($className)
{
    $className = ltrim($className, '\\');
    $fileName  = '';
    $namespace = '';
    if ($lastNsPos = strrpos($className, '\\')) {
        $namespace = substr($className, 0, $lastNsPos);
        $className = substr($className, $lastNsPos + 1);
        $fileName  = str_replace('\\', DIRECTORY_SEPARATOR, $namespace) . DIRECTORY_SEPARATOR;
    }
    $fileName .= str_replace('_', DIRECTORY_SEPARATOR, $className) . '.php';

    require $fileName;
}
spl_autoload_register('autoload');

检查是否已安装eAccelerator:

如果是这样,只需在项目的.htaccess中添加这两行:

php_flag eaccelerator.enable 0
php_flag eaccelerator.optimizer 0
php_flag eaccelerator.enable 0
php_flag eaccelerator.optimizer 0