スポンサーサイト

一定期間更新がないため広告を表示しています

| スポンサードリンク | - | - | - | スポンサーサイト
←prev entry Top next entry→

Cache_Liteしか入ってないサーバーで、Services_AmazonのsetCacheを強引に動かしてみました

PEARの、Services_Amazonを使って、レビューを表示させようとしていたんですが、
表示させるのは出来たんですが、
(参考にさせていただきました:PEAR:Services_Amazonで簡単にAmazon Web サービスを体験する
キャッシュがうまく効かなくて、昨日から悩んでました。
ローカルのXAMPPだとうまく動くのに・・・。

で、何でかと思って色々いじくったりテストして調べていたら、
自分が借りてるサーバーは「Cache_Lite」しか入ってなかったという。Cacheがないのです。

なので、サンプルのamazon_ecs4_cache.phpが動かないのです。
多分。見当違いじゃなければ。


とはいえCache_Liteだけでキャッシュを効かせるスマートな方法が思いつかなかったので、
強引にPEARをディレクトリ内に置いて読み込む方法でやってみました。


どこでもいいのでpearという名前のディレクトリを作って、
・Cache
・Services_Amazon
・PEAR
など、必要なPEARパッケージをを置く。

そして、amazon_ecs4_cache.phpのソースに、青文字になってるものを挿入する。


<php

$my_inpass = "/home/xxxxxxx/pear/" // PEARを置いた場所までのフルパス
ini_set("include_path",$my_inpass . ini_get("include_path"));


require_once 'PEAR.php';
require_once 'Services/AmazonECS4.php';
require_once 'Cache.php';

$amazon = new Services_AmazonECS4(ACCESS_KEY_ID);
$amazon->setCache('file', array('cache_dir' => 'cache/'));
$amazon->setCacheExpire(60); // 60 seconds = 1 min

restore_include_path();

$options = array();
$options['Keywords'] = 'php';
$options['ResponseGroup'] = 'Medium';
$result = $amazon->ItemSearch('Books', $options);

if (PEAR::isError($result)) {
echo $result->message;
} else {
echo $amazon->getProcessingTime() . 'seconds';
echo '<pre>';
var_dump($result);
echo '</pre>';
}

?>

最後にcacheディレクトリを作って終わりです。
これで無事表示できました。

Cache_Liteだけを使った方法を思いつけばいいんですがね。
他のみなさんはどうしてるんでしょう。
| もっち | サイト製作 | comments(0) | trackbacks(0) | Cache_Liteしか入ってないサーバーで、Services_AmazonのsetCacheを強引に動かしてみました

スポンサーサイト

| スポンサードリンク | - | - | - | スポンサーサイト
Comment
name:
email:
url:
comments:
Trackback
http://otomex.jugem.jp/trackback/15
無料ブログ作成サービス JUGEM