2

非常に単純な php ウェブページを AWS ElasticBeanstalk インスタンスにデプロイしました。ファイルは直後に失敗します

<?php
require_once('sdk.class.php');
// more code...

/var/log/httpd/application-error_log から、sdk.class.php が欠落していることがわかります。

[Wed Jun 13 03:30:15 2012] [error] [client 127.0.0.1] PHP Stack trace:
[Wed Jun 13 03:30:15 2012] [error] [client 127.0.0.1] PHP   1. {main}() /var/www/html/index.php:0
[Wed Jun 13 03:30:45 2012] [error] [client 127.0.0.1] PHP Warning:  require_once(sdk.class.php): failed to open stream: No such file or directory in /var/www/html/index.php on line 9
[Wed Jun 13 03:30:45 2012] [error] [client 127.0.0.1] PHP Stack trace:
[Wed Jun 13 03:30:45 2012] [error] [client 127.0.0.1] PHP   1. {main}() /var/www/html/index.php:0
[Wed Jun 13 03:30:45 2012] [error] [client 127.0.0.1] PHP Fatal error:  require_once(): Failed opening required 'sdk.class.php' (include_path='.:/usr/share/pear:/usr/share/php') in /var/www/html/index.php on line 9

すべての ElasticBeanstalk インスタンスにデフォルトで sdk.class.php を含めるべきではありませんか? または、何か不足していますか?コードは、sdk.class.php を適切にインストールして構成したノートブックで正常に動作します。

ありがとう

4

2 に答える 2

2

このソリューションの問題は、自動スケーリングが新しいインスタンスを開始するときに、これらのマシンにインストールされないことです。

プロジェクト フォルダにダウンロードして (次のリリースでプッシュするため)、そこから使用することをお勧めします。

于 2012-07-05T14:55:42.107 に答える
0

私は自分自身で答えを得ることになりました。

AWS PHP SDK はデフォルトでは ElasticBeanstalk インスタンスにインストールされていません (そうすべきだと思います!)。最初にインスタンスにログインして(sshキーペアで)自分自身をインストールし、rootになる必要がありました

sudo su

次に、http://pear.amazonwebservices.com/の情報を使用して SDK をインストールしました。

pear install aws/sdk
pear upgrade aws/sdk

次に、構成サンプルをコピーし、AWS キーとシークレット キーで更新しました

cp /usr/share/pear/AWSSDKforPHP/config-sample.inc.php /usr/share/pear/AWSSDKforPHP/config.inc.php

また、PHPコードをから変更する必要がありました

require_once('sdk.class.php');

require_once 'AWSSDKforPHP/sdk.class.php';

ウェブページを更新したところ、うまくいきました!

于 2012-06-13T14:38:04.360 に答える