Компоненты ez и AWS PHP SDK выводят из строя компоненты ez - PullRequest
0 голосов
/ 08 января 2011

Я пытаюсь работать с ez Components и AWS PHP SDK одновременно.

У меня есть файл resize.php, который просто обрабатывает изменение размеров изображений с помощью инструментов ez Components ImageTransition.

Я помещаю изображение в очередь для изменения размера в Amazon AWS SQS.Если я загружаю AWS PHP SDK и компоненты ez в один и тот же файл, PHP всегда жалуется, что не находит классы компонентов ez.

Код выглядит примерно так:

amazonSQS.php:

require 'modules/resize.php';
require 'modules/aws/sdk.class.php';

$sqs = new AmazonSQS();
$response = $sqs->send_message($queue_url, $message);

resize.php:

function resize_image($filename) {

$settings = new ezcImageConverterSettings(
    array(
        //new ezcImageHandlerSettings( 'GD',          'ezcImageGdHandler' ),
        new ezcImageHandlerSettings( 'ImageMagick', 'ezcImageImagemagickHandler' ),
    )
);

Сообщение об ошибке:

Fatal error: Class 'ezcImageConverterSettings' not found in /home/www.com/public_html/modules/resize.php on line 10

Если я вызываю resize.php из другого PHP-файла, в который не включен AWS, он работает нормально.

Я загружаю ezComponents следующим образом:

require 'ezc/Base/ezc_bootstrap.php';

Он устанавливается как пакет PEAR.

Есть идеи у кого-нибудь?

1 Ответ

0 голосов
/ 12 января 2011

PHP-классы Apache Zeta / eZ Components могут быть удобно использованы из вашего PHP-скрипта.Вам не нужно использовать какие-либо операторы require или include для каких-либо классов Apache Zeta Components, которые вы используете, это из-за встроенного механизма автозагрузки, который может определять местонахождение классов, когда вы создаете их или используете их иначе.

Существует три способа запуска механизма автозагрузки:

  • Обычная автозагрузка, если вам требуется пользовательская функция автозагрузки
  • Файл начальной загрузки, если вы используете только автозагрузку Apache Zeta
  • SPL-автозагрузка, если вам нужно зарегистрировать несколько функций автозагрузки

Эти 3 способа полностью документированы здесь

...