0

ez Components と AWS PHP SDK を同時に使用しようとしています。

ez Components ImageTransition ツールを使用して画像のサイズ変更を処理する resize.php というファイルがあります。

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

AWS が含まれていない別の PHP ファイルから resize.php を呼び出すと、正常に動作します。

次のように ezComponents をロードします。

require 'ezc/Base/ezc_bootstrap.php';

PEAR パッケージとしてインストールされます。

誰かアイデアはありますか?

4

1 に答える 1

0

Apache Zeta / eZコンポーネントのPHPクラスは、PHPスクリプト内から便利に使用できます。使用するApacheZetaコンポーネントクラスのrequireまたはincludeステートメントを使用する必要はありません。これは、インスタンス化または他の方法で使用するときにクラスを見つけることができる統合自動ロードメカニズムによるものです。

自動ロードメカニズムを実行するには、次の3つの方法があります。

  • カスタム自動ロード機能が必要な場合は、通常の自動ロード
  • ApacheZeta自動読み込みのみを使用する場合のブートストラップファイル
  • 複数のオートロード機能を登録する必要がある場合は、SPLオートロード

これらの3つの方法は、ここに完全に文書化されています

于 2011-01-12T13:51:02.493 に答える