2011-10-26 17 views
0

PHPを使用してamazonのAWS APIの署名リクエストを作成しようとしています。私はPHPとあまり慣れていないよ私は申し訳ありませんそのためのようので、この質問は、非常に明白なように見えるかもしれません - ここで見つけることができます -PHP - PHPクラスファイルをインクルードして関数を実行する方法

Amazonは彼らのAPIを使用するための署名要求を生成するためのサンプルコードを提供:

を 単に

http://aws.amazon.com/code/AWIS/402

その指示状態:

Run php urlinfo.php ACCESS_KEY_ID SECRET_ACCESS_KEY site 

しかし、私はPHPファイルを "実行" するかどうかはわかりません。私の本能は、私はその公開urlInfo関数への呼び出しを行うことができるようにPHPファイルを含めるようにした。

UrlInfo($accessKeyId, $secretAccessKey, $site) 

が、私はそれを含める場合:

<?php require_once ('urlinfo.php'); ?> 

ページが自動的にメッセージを生成します。

Usage: ACCESS_KEY_ID SECRET_ACCESS_KEY site 

インデックスファイルからこのphpファイルを呼び出し、必要なパラメータを渡すにはどうすればよいですか?

答えて

1

urlinfo .phpスクリプトはPHPのコマンドラインインターフェイス経由で実行されるように意図されており、cli経由で引き渡される引数が必要です。

あなたは次のコードの一部削除した場合:

if (count($argv) < 4) { 
    echo "Usage: $argv[0] ACCESS_KEY_ID SECRET_ACCESS_KEY site\n"; 
    exit(-1); 
} 
else { 
    $accessKeyId = $argv[1]; 
    $secretAccessKey = $argv[2]; 
    $site = $argv[3]; 
} 

をそして実行します。

$accessKeyId = "youkeyid"; 
$secretAccessKey = "yoursecret"; 
$site = "yoursite"; 

include('urlinfo.php'); 

を期待どおりに動作します。

0

ファイルを実行する手順は、コマンドプロンプトにそのコマンドを入力する必要があることを意味します。

サンプルコードはちょうどそのサンプルを意味します。そのため、彼らはあなたがWebサーバーに入れることなく簡単に実行できるようにしようとしました。代わりに、PHPで直接実行することができます。

Webサーバーで実行する場合は、その例を書き換える必要があります。

1

urlinfo.phpファイルの下にある次のコードを削除します。

if (count($argv) < 4) { 
    echo "Usage: $argv[0] ACCESS_KEY_ID SECRET_ACCESS_KEY site\n"; 
    exit(-1); 
} 
else { 
    $accessKeyId = $argv[1]; 
    $secretAccessKey = $argv[2]; 
    $site = $argv[3]; 
} 

$urlInfo = new UrlInfo($accessKeyId, $secretAccessKey, $site); 
$urlInfo->getUrlInfo(); 

次に、次のコードを使用して必要なurlinfoを生成することができます。

タイプPHPのbinファイルがどこにあるか、あなたのシェルが知っている場合は、コマンドラインから「PHP」を参照するには:

$urlInfo = new UrlInfo($accessKeyId, $secretAccessKey, $site); 
$urlInfo->getUrlInfo(); 
+0

私はちょっと混乱していると思います。ウェブサービスにアクセスするたびにこれを実行する必要はありませんか?これをlocalhost上で実行している場合、私は "サイト"として何を使用しますか? localhostで実行できますか? – mheavers

1

あなたは、UNIXのコマンドラインを持っていると仮定すると。あなたがパスを取得した場合、パラメータACCESS_KEY_ID SECRET_ACCESS_KEYサイトに続いて、ファイルを実行するには、そのパスを入力

例: は/ usr/local/bin/phpのACCESS_KEY_ID SECRET_ACCESS_KEYサイトurlinfo.php


関連する問題