私的アンテナTYPE-F(赤は48時間以内に更新されたコンテンツ)
<|日々の戯言アニメコミックゲーム美少女系ゲームフィギュアドール全般しーぽんちっちゃなもこちゃんえっくす☆きゅーとアキバ系りとらばU-10BLOGネットネタこのサイトについて|>

2007年02月03日 (土曜日)

[ BLOG ]

AmazonECS4.0がAmazonポイントに対応

AmazonECS4.0に非公式ながら「Amazonポイント」に関連した新しい要素が追加されています。

<Offers>
 <Offer>
  <LoyaltyPoints>
   <Points>359</Points>
   <TypicalRedemptionValue>
    <Amount>359</Amount>
    <CurrencyCode>JPY</CurrencyCode>
    <FormattedPrice>¥ 359</FormattedPrice>
   </TypicalRedemptionValue>
  </LoyaltyPoints>

 </Offer>
</Offers>

上はとある商品のxmlデータです。太字が新しく追加されたポイント関連。
これと価格を使えばリテールサイト同等の還元率も表示可能です。
ということで、当サイトもAmazonポイントに関連した項目に対応しました。
ポイントが付与される商品には、ポイント数及び還元率が表示されるようになります。

なおついでなので「AmazonECS4.0 2007-01-17版(WSDL/API Ver.2007-01-15)リリース」で書いた在庫仕様の暗黙の変更にも対応しました。
これにより当サイト独自の在庫表記の閾値が以下のように変わります。

在庫数(X)表示
21<=X在庫状況:◎
11<=X<=20在庫状況:〇
4<=X<=10残りX点在庫あり。
X<=3残りX点。ご注文はお早めに

またポップアップで表示される詳細情報は「11,21,51,101,501,1001,5001,10001点」と表記される在庫を保有する商品の場合、後に「以上」という文字列が追加されます。
Amazon側が詳細な在庫数を提供しなくなりましたので、それに合わせた表現に変更しました。
10点以下の商品に関しては従来通りです。

ということで例の如く、以下はAmazonポイントが付与される商品のサンプルです(^^;


ワン ホット ミニット
ワン ホット ミニット
¥ 940 (税込)
在庫あり。
コレクター:¥ 3,980 より

Miracle Episode1
Miracle Episode1
¥ 1,200 (税込)
在庫あり。
ユーズド:¥ 1 より
Microsoft Windows Vista Home Premium 通常版
Microsoft Windows Vista Home Premium 通常版
¥ 28,200 (税込)(10%OFF)
通常1~2営業日以内に発送
ユーズド:¥ 12,000 より
D.C.II Spring Celebration
初回限定版

D.C.II Spring Celebration 初回限定版

¥ 5,980 (税込)(27%OFF)
通常1~2営業日以内に発送
ユーズド:¥ 1,270 より

【AmazonECS4.0関連リンク】
Amazon E-Commerce Service on 2007-01-17 リリース情報 (英語)
Amazon E-Commerce Service (API Version 2007-01-15) Developer Guide (英語)
Amazon Web Services Developer Connection : Japanese(日本語フォーラム)

【関連するトピックス】
Amazon.co.jpがポイントサービスを導入
AmazonECS4.0 2007-01-17版(WSDL/API Ver.2007-01-15)リリース
AmazonECS4.0 2006-11-30版(WSDL/API Ver.2006-11-14)リリース
AmazonECS4.0 2006-11-14(WSDL/API Ver.2006-11-14)リリース
AmazonECS4.0 2006-11-08(WSDL/API Ver.2006-10-25)リリース
アマゾンECS経由の在庫表記変更とか
AmazonECS4.0新API対応。2ndえっくす☆きゅーとの在庫状況とか
AmazonECS4.0 2006-09-11(WSDL/API Ver.2006-09-13)リリース
AmazonECS4.0 2006-07-26(WSDL/API Ver.2006-06-28)リリース
AmazonECS4.0(WSDL/API Ver.2006-06-07)リリース
AmazonECS4.0にカスタマーレビュー復活
AmazonECS4.0(WSDL/API Ver.2006-05-17)リリース
AmazonECS4.0(WSDL/API Ver.2005-10-13)リリース
AmazonECSを利用してアゾンのいちごパンツをチェック(*´Д`)
アマゾン画像、AmazonECSを動的に呼び出す
AmazonECS4.0新ビルド、Version2005-10-05リリース
AmazonECS4.0新ビルド、Version2005-07-26リリース
「みかにハラスメント」アマゾン入荷キター!
AmazonECS4.0に新ビルド、Version2005-03-23リリース
AmazonECS4.0に新ビルド、Version2005-02-23リリース
XSLTでリクエストを連鎖的に発行
AmazonECS4.0に新ビルドリリース
AECS4.0がバグっての続報
AECS4.0がバグってハニー┐('~`;)┌
不正文字は個別対処?
AECS4.0へ移行
AECS4.0はバグあり?

【関連するリンク】
Amazon Web サービス ブログ
Amazon Webサービス

2007年01月19日 (金曜日)

[ BLOG ]

AmazonECS4.0 2007-01-17版(WSDL/API Ver.2007-01-15)リリース

AmazonECS4.0に「2007-01-17版(WSDL/API Version 2007-01-15)」がリリースされました。
※日本語ドキュメントではRelease Date: 2007-01-15となっていますが、ここでは英語版を基準にしています。

本リリースよりItemLookupにおいて、書籍の新ISBNによる参照が可能になりました。
これは昨年末の「Amazon アソシエイトプログラム オフィシャルブログ」に書かれてた内容にECS側が対応したものです。
この機能追加により、新ISBN(13桁)も従来のISBN(10桁=ASIN)とほぼ同じように扱うことが可能になります。
但し新しいIdTypeによるクエリのため、ItemLookupを行う前に新旧のISBNを判断してクエリを切り替える必要があります。
以下はそのクエリのサンプルです。

旧ISBN=ASINクエリ

http://webservices.amazon.co.jp/onca/xml?Service=AWSECommerceService
&AWSAccessKeyId=YourAccessKey&AssociateTag=YourAssociateTag
&Operation=ItemLookup&IdType=ASIN&ResponseGroup=Large
&Version=2007-01-15&ItemId=4871828883

新ISBN対応クエリ

http://webservices.amazon.co.jp/onca/xml?Service=AWSECommerceService
&AWSAccessKeyId=YourAccessKey&AssociateTag=YourAssociateTag
&Operation=ItemLookup&IdType=ISBN&ResponseGroup=Large
&Version=2007-01-15&SearchIndex=Books&ItemId=9784871828888

新ISBN=>ASIN変換」必須とならなかっただけマシということで、アプリ側の対応も致し方ないでしょう。
なお新ISBNをKeywordsに指定したItemSearchによる検索は可能です。
※商品によってワーニングエラーが出る場合もあるようです。

ItemSearchによる新ISBN検索クエリ

http://webservices.amazon.co.jp/onca/xml?Service=AWSECommerceService
&AWSAccessKeyId=YourAccessKey&AssociateTag=YourAssociateTag
&Operation=ItemSearch&ResponseGroup=Large
&Version=2007-01-15&SearchIndex=Books(Blendedも可)&Keywords=9784871828888


ところで新バージョンがリリースされた辺りから、在庫数(Quantity)の提供仕様が変更されたようです。
在庫が1桁の商品は今まで通り生の値ですが、2桁以上の商品については、閾値でフィルタリングされた値(残り11、21、51、101、501、1001点以上)に変換されています。
※上の閾値は調べた範囲で見つけたもので実際はもっと多くあるかも知れません

この件は本リリースドキュメント内でも触れられていないため、詳細は不明です。
仮にこれが暗黙の仕様になったとしても概数は取得出来ているので、本サイト的にはそれほど影響はありません。
まあ在庫数を詳細にトレースしていたサイトは別かも知れませんが・・・。

ちなみに以下の商品は今まで在庫数にそれなりに差があり、お互いに一致していなかったものです。
それが現在(2007/01/19 7:30時点)では全て一致しています。
マウスオーバー時の残在庫は取得した値を未加工で表示しているので、これがリアル在庫ならまずあり得ない、というわけです。

PLAYSTATION 3(60GB)
PLAYSTATION 3(60GB)
参考価格:¥ 54,980 (税込)
ユーズド:¥ 27,490 より
出品者から発送
PLAYSTATION 3(20GB)
PLAYSTATION 3(20GB)
参考価格:¥ 44,980 (税込)
ユーズド:¥ 13,000 より
出品者から発送
葉月/月詠-MOON PHASE-
葉月 / 月詠 - MOON PHASE -
¥ 12,600 (税込)
通常1~2営業日以内に発送
ユーズド:¥ 11,000 より
発育っちゃうぞ
発育っちゃうぞ
¥ 1,050 (税込)
在庫あり。
ユーズド:¥ 1 より


【AmazonECS4.0関連リンク】
Amazon E-Commerce Service on 2007-01-17 リリース情報 (英語)
Amazon E-Commerce Service (API Version 2007-01-15) Developer Guide (英語)
Amazon Web Services Developer Connection : Japanese(日本語フォーラム)

【関連するトピックス】
AmazonECS4.0 2006-11-30版(WSDL/API Ver.2006-11-14)リリース
AmazonECS4.0 2006-11-14(WSDL/API Ver.2006-11-14)リリース
AmazonECS4.0 2006-11-08(WSDL/API Ver.2006-10-25)リリース
アマゾンECS経由の在庫表記変更とか
AmazonECS4.0新API対応。2ndえっくす☆きゅーとの在庫状況とか
AmazonECS4.0 2006-09-11(WSDL/API Ver.2006-09-13)リリース
AmazonECS4.0 2006-07-26(WSDL/API Ver.2006-06-28)リリース
AmazonECS4.0(WSDL/API Ver.2006-06-07)リリース
AmazonECS4.0にカスタマーレビュー復活
AmazonECS4.0(WSDL/API Ver.2006-05-17)リリース
AmazonECS4.0(WSDL/API Ver.2005-10-13)リリース
AmazonECSを利用してアゾンのいちごパンツをチェック(*´Д`)
アマゾン画像、AmazonECSを動的に呼び出す
AmazonECS4.0新ビルド、Version2005-10-05リリース
AmazonECS4.0新ビルド、Version2005-07-26リリース
「みかにハラスメント」アマゾン入荷キター!
AmazonECS4.0に新ビルド、Version2005-03-23リリース
AmazonECS4.0に新ビルド、Version2005-02-23リリース
XSLTでリクエストを連鎖的に発行
AmazonECS4.0に新ビルドリリース
AECS4.0がバグっての続報
AECS4.0がバグってハニー┐('~`;)┌
不正文字は個別対処?
AECS4.0へ移行
AECS4.0はバグあり?

【関連するリンク】
Amazon Web サービス ブログ
Amazon Webサービス

2006年12月27日 (水曜日)

[ BLOG ]

Yahoo!Webサービスを利用してY!オクをBlogに表示

気になるオークションサイドバー - 116 x 150サイドバーに新たにYahoo!Webサービス(YWS)を利用した注目のYahoo!オークション表示を追加しました。
これによりわざわざY!オクを見なくても気になるアイテムのオークション状況を確認することが出来ます。

と言ってもあくまで私が気になるものだけですが(^^;
なので「DDタマ姉」、「DDいいんちょ」ほか、殆ど動きのない「ピュアニーモ葉月」などなど、かなり偏ったセレクトになっています。
それ以外にもBlogのカテゴリごとに適当に検索結果や類似したオークションカテゴリを表示させていますので、暇でしたらBlogの各カテゴリを見回してくださいませ。

まあ普通は出品者IDを指定、自分のオークションを宣伝するために使ったりするのでしょうけどねヽ(´ー`)ノ
ちなみにアダルトカテゴリへはYWSからアクセスが禁止されており、データが取れません。
これはY!オク上でアダルトカテゴリにアクセスする場合、Yahoo!JAPAN IDが要求されますが、それと同じ理由だと思われます。
ようは18禁な画像も含め、無作為にアダルト情報が晒されることをYahooとしては好ましくないと思っているからでしょう。
対してアマゾンAWSの場合、全商品にアクセスが可能になっており、アプリ側でアダルト判定・警告を実装するなど、ユーザー側に任せた仕様になっています。
Webサービス一つをとっても、それぞれの立場の違いがみて取れるのは面白いですね。

【関連するリンク】
Yahoo!デベロッパーネットワーク
Amazon Webサービス

2006年12月07日 (木曜日)

[ BLOG ]

AmazonECS4.0 2006-11-30版(WSDL/API Ver.2006-11-14)リリース

AmazonECS4.0に「2006-11-30版(WSDL/API Version 2006-11-14)」がリリースされました。

今回はマーケットプレイスに関連する機能強化のみでそれ以外は特にないようです。
マーケットプレイスに特化したサイトなどには朗報かも知れません。
このサイト的には最安値のマーケットプレイス価格が取得出来れば十分なので、本リリースはスルーです(^^;

ところで「2006-11-08版」リリース以降TopSellers/NewReleasesが使えるようになりましたが、本サイトも右サイドバーの売上ランクをTopSellers/NewReleasesに対応させました(一部カテゴリー除く)。
このランクは1時間ごとに更新される、Amazon.co.jpのベストセラーorニューリリースベストセラー上位10商品と同期の取れたものになっています。
例えばトップページの「アゾン関連新作売れ筋ランク」には、Amazon.co.jpのAzon Doll新着ニューリリースベストセラーと同じものが並んでいます(更新時間の関係で一致しない場合があります)
以前の検索結果の売上順(ItemSearch&Sort=salesrank)を使った表示より商品の入れ替えが激しいのはそのためです。
ま、見る側にとっては関係のないことですけどねヽ(´ー`)ノ

・同日【追記】
 AWSと間接的に関連があるということで紹介。
 「Amazon アソシエイトプログラム オフィシャルブログ」に来年より書籍コード(ISBN)が13桁になることについてのAmazon.co.jp側の対応が書かれています。
 それによると今まで書籍についてはASIN(10桁)=ISBN(10桁)で登録していたものが、2007/01/01以降はコード長が異なるため別になるということです(当たり前ですね)。
 なお旧ISBNで2006/12/31までに登録されたASINについては、来年以降も継続して使えるとのことです。
 また来年以降一時的に新ISBNで検索が行えない場合があるとのことで、AWSも同様にEAN検索が行えない可能性がありそうです。

・2006/12/18【追記・訂正】
 12/12に訂正が入りAPI Versionが2006-11-28→2006-11-14に戻ったようです。
 前回のリリースと統合された?みたいですね。

【AmazonECS4.0関連リンク】
Amazon E-Commerce Service on 2006-11-30 リリース情報 (英語)
Amazon E-Commerce Service (API Version 2006-11-14) Developer Guide (英語)
Amazon Web Services Developer Connection : Japanese(日本語フォーラム)

【関連するトピックス】
AmazonECS4.0 2006-11-14(WSDL/API Ver.2006-11-14)リリース
AmazonECS4.0 2006-11-08(WSDL/API Ver.2006-10-25)リリース
アマゾンECS経由の在庫表記変更とか
AmazonECS4.0新API対応。2ndえっくす☆きゅーとの在庫状況とか
AmazonECS4.0 2006-09-11(WSDL/API Ver.2006-09-13)リリース
AmazonECS4.0 2006-07-26(WSDL/API Ver.2006-06-28)リリース
AmazonECS4.0(WSDL/API Ver.2006-06-07)リリース
AmazonECS4.0にカスタマーレビュー復活
AmazonECS4.0(WSDL/API Ver.2006-05-17)リリース
AmazonECS4.0(WSDL/API Ver.2005-10-13)リリース
AmazonECSを利用してアゾンのいちごパンツをチェック(*´Д`)
アマゾン画像、AmazonECSを動的に呼び出す
AmazonECS4.0新ビルド、Version2005-10-05リリース
AmazonECS4.0新ビルド、Version2005-07-26リリース
「みかにハラスメント」アマゾン入荷キター!
AmazonECS4.0に新ビルド、Version2005-03-23リリース
AmazonECS4.0に新ビルド、Version2005-02-23リリース
XSLTでリクエストを連鎖的に発行
AmazonECS4.0に新ビルドリリース
AECS4.0がバグっての続報
AECS4.0がバグってハニー┐('~`;)┌
不正文字は個別対処?
AECS4.0へ移行
AECS4.0はバグあり?

【関連するリンク】
Amazon Web サービス ブログ
Amazon Webサービス

2006年11月19日 (日曜日)

[ BLOG ]

AmazonECS4.0 2006-11-14(WSDL/API Ver.2006-11-14)リリース

AmazonECS4.0に「2006-11-14版(WSDL/API Version 2006-11-14)」がリリースされました。

ドキュメントを見るとjpに関連する新機能は無いようで、usにおける新ストア対応とバグフィックスだけのようです。
なお2006-11-08版よりjpにも実装されたTopSellers指定がトップノード(ストアホーム)IDで正しく動作しない問題が追記されています。

・BrowseNodeLookup オペレーションにおいて、指定されたbrowse nodeがストアホームのIDであった場合、正しくないトップセラー情報が返される点
この問題は、TopSellers の response group を使用する場合に、下位nodeのいずれかを代わりに指定することで回避することができます。

上の問題はTopSellers指定で得られる商品がストアホームのみ、リテールサイトの1時間おきに更新されるランキングと同期しないことを指しています。
未だ売上順の検索結果表示も直ってない状況ですし、とりあえず現状はTopSellersが使えるようになっただけマシ、と思った方がいいかも知れませんね。

ということで、今回は特に面白そうな新機能もないので、2006-09-11版リリースで実装された「予約お知らせ区分(<IsPreannounce>)」に対応してみたいと思います。
この区分はリテールサイト上で在庫状況が「商品入荷情報をEメールでお知らせします。」となっている予約前の事前案内商品を示すものです。
これによりアプリケーション側で単なる在庫切れでなく、リテールサイトと同等の表記が可能になります。
但しアマゾン側の商品登録状況により、この区分が設定されていない商品もあるようです。
そのためアダルト商品の判定の時と同様にBrowseNodesを使い、「予約お知らせ」という文字列が含まれているかどうかも合わせて見る必要があります。

そんなわけで以下はそんな事前案内商品のサンプルです(Wiiはテスト中に使っていたのでついでに(^^;)

Wii
Wii
¥ 28,800 (税込)
通常1~2営業日以内に発送
新品:¥ 16,980 より
ドラゴンクエストソード 仮面の女王と鏡の塔
ドラゴンクエストソード 仮面の女王と鏡の塔
¥ 4,370 (税込)(36%OFF)
在庫あり。
新品:¥ 3,998 より
デビル メイ クライ 4(仮称)
デビル メイ クライ 4(仮称)
¥ 8,233 (税込)(2%OFF)
在庫あり。
ユーズド:¥ 1,147 より

Wii本体は予約開始前に仕掛けてみたかったのですが、数分で品切れとかあり得ない状況だったらしいので、まあやるだけ無駄だったかも知れません。
ちなみに予約お知らせ商品はコードを付け替えるのが慣習になっているのか、それとも自動購買ツール対策なのかわかりませんが、Wiiは予約開始直前にASINが変更されています。
今現在レビューが数個しかないのもそのためです(以前のASINには190ほどレビューが付いていました)

【AmazonECS4.0関連リンク】
Amazon E-Commerce Service on 2006-11-14 リリース情報
Amazon E-Commerce Service (API Version 2006-11-14) Developer Guide
Amazon Web Services Developer Connection : Japanese(日本語フォーラム)

【関連するトピックス】
AmazonECS4.0 2006-11-08(WSDL/API Ver.2006-10-25)リリース
アマゾンECS経由の在庫表記変更とか
AmazonECS4.0新API対応。2ndえっくす☆きゅーとの在庫状況とか
AmazonECS4.0 2006-09-11(WSDL/API Ver.2006-09-13)リリース
AmazonECS4.0 2006-07-26(WSDL/API Ver.2006-06-28)リリース
AmazonECS4.0(WSDL/API Ver.2006-06-07)リリース
AmazonECS4.0にカスタマーレビュー復活
AmazonECS4.0(WSDL/API Ver.2006-05-17)リリース
AmazonECS4.0(WSDL/API Ver.2005-10-13)リリース
AmazonECSを利用してアゾンのいちごパンツをチェック(*´Д`)
アマゾン画像、AmazonECSを動的に呼び出す
AmazonECS4.0新ビルド、Version2005-10-05リリース
AmazonECS4.0新ビルド、Version2005-07-26リリース
「みかにハラスメント」アマゾン入荷キター!
AmazonECS4.0に新ビルド、Version2005-03-23リリース
AmazonECS4.0に新ビルド、Version2005-02-23リリース
XSLTでリクエストを連鎖的に発行
AmazonECS4.0に新ビルドリリース
AECS4.0がバグっての続報
AECS4.0がバグってハニー┐('~`;)┌
不正文字は個別対処?
AECS4.0へ移行
AECS4.0はバグあり?

【関連するリンク】
Amazon Web サービス ブログ
Amazon Webサービス

2006年11月10日 (金曜日)

[ BLOG ]

さくらのレンタルサーバへPHP5.2.0をインストール

Powered by PHP5.2.0 - 200 x 113
先日PHP-5.1.6を入れたばかりですが、多数のバグフィックス、パフォーマンスが更に向上した5.2.0が正式リリースされたということで、早速アップグレードしてみました。
なお5.2.0はレンタルサーバ等にインストールする場合、PEARで失敗する可能性があります。
以下その要所だけ書いておきます。

インストール手順は5.1.6と同じです。
ということで、前回と同じく参考にしたサイトをあげておきます(^^;
php5 手動インストール+cgi-mode(レンタルサーバ)
activecollab
さくらのレンタルサーバでPHP5

さて、上記サイトの手順に従い作業は順調に進行中・・・でしたがここで問題が発生。
make install中、以下のようなメッセージが出力され、何故かPEARモジュールのインストールに失敗してしまいます。

%make install
Installing PHP SAPI module: cgi
Installing PHP CGI into: /home/xxxxxxxx/php5/bin/
Installing build environment: /home/xxxxxxxx/php5/lib/php/build/
Installing header files: /home/xxxxxxxx/php5/include/php/
Installing helper programs: /home/xxxxxxxx/php5/bin/
program: phpize5
program: php-config5
Installing man pages: /home/xxxxxxxx/php5/man/man1/
page: phpize5.1
page: php-config5.1
Installing PEAR environment: /home/xxxxxxxx/php5/pear/
could not extract the package.xml file from "phar://install-pear-nozlib.phar/Archive_Tar-1.3.1.tar"
[PEAR] Archive_Tar: Cannot initialize 'phar://install-pear-nozlib.phar/Archive_Tar-1.3.1.tar', invalid or missing package file
could not extract the package.xml file from "phar://install-pear-nozlib.phar/Console_Getopt-1.2.tar"
[PEAR] Console_Getopt: Cannot initialize 'phar://install-pear-nozlib.phar/Console_Getopt-1.2.tar', invalid or missing package file
could not extract the package.xml file from "phar://install-pear-nozlib.phar/PEAR-1.4.11.tar"
[PEAR] PEAR: Cannot initialize 'phar://install-pear-nozlib.phar/PEAR-1.4.11.tar', invalid or missing package file

Installing PDO headers: /home/xxxxxxxx/php5/include/php/ext/pdo/

調べてみたところ、どうもPEAR(orパッケージ)の仕様が変わったのか、環境変数の未設定が原因でインストールに失敗する場合があるようです。
vine-php - php5-5.2.0-0vl2

spec で設定している環境変数 PHP_PEAR_CACHE_DIR が原因であることは 分かりました。この環境変数は /etc/php5/pear.conf の cache_dir を /var/lib/cache/php5-pear にするために設定しています。設定しないと デフォルトの /tmp/pear/cache になってしまいます。

これが失敗の原因となる理由というか流れは以下の通りです。ポイントは3.です。

1.PEARのファイル展開用ディレクトリを格納する変数cache_dirを設定するため、環境変数PHP_PEAR_CACHE_DIRが参照される
2.同環境変数が未設定だったため、デフォルトの「/tmp/pear/cache」がcache_dirに設定される
3.対象のサーバでは先にrootが「/tmp/pear/cache」をユーザーが書き込めない状態(755)で使っていた
4.展開したファイルを3.のディレクトリにユーザー権限※で書き込もうとしたため失敗、エラーとなる
※共有レンタルサーバではVDSなどと異なり、suは使えません

5.1.6まではconfigureで設定したインストール先がPEARにも反映されていたようですが、5.2.0はそれが継承されず、別途環境変数を必要とするようです。
そのため環境変数が未設定な状態で設定されるディレクトリがrootと共通となり、問題を引き起こしていたということです。
無論、他のユーザーが同ディレクトリを押さえていた場合も同様でしょう。

そこでこれを解決するため、単純ですがsetenvで環境変数「PHP_PEAR_CACHE_DIR」を設定してあげます。

%setenv PHP_PEAR_CACHE_DIR /home/xxxxxxxx/php5/pear/cache;

上の例ではインストール先にcache_dirを指定していますが、乱暴ですが書き込めればどこでも構いません。
この後再度make installを行うと、今度はPEARも正常にインストール出来ました。
なお、setenvしたcache_dirの内容はpear.confに継承されており、今のところPEARの動作にも問題はないようです。

ということで、PHP-5.2.0+PEARのインストールは他の共有レンタルサーバでも問題を起こす可能性があるので要注意です。
ちなみにPEARを使わないor別途インストールする場合(configure--without-pear指定)、5.1.6と同手順でエラーもなくインストールは完了します。

ところで5.2.0では、php.iniに対する文法チェックが厳しくなっており、セクションからきちんと記述しないと認識しないようです。
php4.xの時代から引っ張っているphp.iniなどであれば、今一度見直しをお勧めします。
#実は最初全く反映されずに焦った人(^^;

・2007/01/22【追記】
 「さくらのレンタルサーバへPHP5をGDバンドル版としてインストール」でも書きましたが、PHP5.2.0本体はさくらのドメイン、サブドメイン毎にコピーせず、ハードリンクを作成すれば別途ディスク容量を消費しません。
 ここへリンクしてくださるサイトの中にcpされている記事がありましたので補足。

・2007/06/03【追記】
 PHP5.2.3以降は仕様が変わり、cgi動作用実行ファイル名がphp→php-cgiとなります。
 従来のphpはモジュール動作用なので、それをcp、またはlnするとエラー500 Internal Server Errorを起こして動きません。
 間違えないようにして下さい。

【関連するトピックス】
さくらのレンタルサーバへPHP5.2.5をインストール
さくらのレンタルサーバへPHP5.2.4をインストール
さくらのレンタルサーバへPHP5.2.3をインストール
さくらのレンタルサーバへPHP5.2.2をインストール
さくらのレンタルサーバへPHP5.2.1をインストール
さくらのレンタルサーバへPHP5をGDバンドル版としてインストール

【関連するリンク】
PHP: Hypertext Preprocessor

2006年11月09日 (木曜日)

[ BLOG ]

AmazonECS4.0 2006-11-08(WSDL/API Ver.2006-10-25)リリース

AmazonECS4.0に「2006-11-08版(WSDL/API Version 2006-10-25)」がリリースされました。

jpに関連する新機能などは以下の通りです。

・TopSellers および NewReleases の response group が、全てのストアにおいて利用可能になりました。

・ItemLookup, ItemSearch, SimilarityLookup および ListLookup の operation において、review をソートするのに使用できる新しいパラメータである ReviewSort が加えられました。

・CustomerFull, CustomerReviews および Reviews の response group は、Name, Nickname, CustomerId およびLocation といった子要素を含んだ新しい要素である Reviewer を返すようになりました。

・Review データは、レビュアーの年齢が18歳未満または匿名の場合、返されないようになりました。

jpでもようやくTopSellersが使えるようになりました。
これにより上位10商品限定ですが、AmazonECS経由でAmazon.co.jpで行っているトップセラーと同期するランク表示が行えるようになります。
但しトップノード(ストア全体)のランキングは同期しません。
推測ですがストア全体のトップセラーのみ、co.jp独自の集計が元になっているからだと思われます。

ということで早速ItemSearch+BrowseNodeのランク表示をTopSellersに置き換えようと思ったのですが、どうも簡単には移行出来ないようです。
これはOperationBrowseNodeLookupとなり、戻ってくるデータにASINと商品タイトルしか含まれないためです。
そのためItemSearch同等の詳細データを得たい場合、得られたASINをベースに再度リクエストする、xsltならチェーンリクエストを仕掛けるなどの細工が必要になってきます。

てことで、このサイト的には新規作り込み作業が必要になるのでしばらく静観ですね(^^;

それとカスタマーレビューの機能強化ですが、こちらもようやくレビューのソートが出来るようになったようで嬉しい限りです。
これでリテールサイト同等の投稿日付順、投票ランク順表示というような作り込みも可能になります。

レビュー表示の制限については、お子様や信頼性の低いレビューは取り扱わない、ということなのでしょうか?
まああまり気にしませんが。

そんなわけで今回はレビュー周りだけ後でアップデートしてみる予定です。

【AmazonECS4.0関連リンク】
Amazon E-Commerce Service on 2006-11-08 リリース情報
Amazon E-Commerce Service (API Version 2006-10-25) Developer Guide
Amazon Web Services Developer Connection : Japanese(日本語フォーラム)

【関連するトピックス】
アマゾンECS経由の在庫表記変更とか
AmazonECS4.0新API対応。2ndえっくす☆きゅーとの在庫状況とか
AmazonECS4.0 2006-09-11(WSDL/API Ver.2006-09-13)リリース
AmazonECS4.0 2006-07-26(WSDL/API Ver.2006-06-28)リリース
AmazonECS4.0(WSDL/API Ver.2006-06-07)リリース
AmazonECS4.0にカスタマーレビュー復活
AmazonECS4.0(WSDL/API Ver.2006-05-17)リリース
AmazonECS4.0(WSDL/API Ver.2005-10-13)リリース
AmazonECSを利用してアゾンのいちごパンツをチェック(*´Д`)
アマゾン画像、AmazonECSを動的に呼び出す
AmazonECS4.0新ビルド、Version2005-10-05リリース
AmazonECS4.0新ビルド、Version2005-07-26リリース
「みかにハラスメント」アマゾン入荷キター!
AmazonECS4.0に新ビルド、Version2005-03-23リリース
AmazonECS4.0に新ビルド、Version2005-02-23リリース
XSLTでリクエストを連鎖的に発行
AmazonECS4.0に新ビルドリリース
AECS4.0がバグっての続報
AECS4.0がバグってハニー┐('~`;)┌
不正文字は個別対処?
AECS4.0へ移行
AECS4.0はバグあり?

【関連するリンク】
Amazon Web サービス ブログ
Amazon Webサービス

2006年10月30日 (月曜日)

[ BLOG ]

さくらのレンタルサーバへPHP5をGDバンドル版としてインストール

Powered by PHP5.1.6 (手は指差し手60) - 200 x 135PHP5.1にするとPHP4.4より速いらしい、という噂を元にPHP5.1.6をインストールしてみました。

で、イキナリですがインストール方法については省略。
さくら+PHP5+インストール」で判り易い解説サイトがいっぱい出てきますので、今更ここで書くこともないかと思いますので(^^;
なのでここではGDに関して引っ掛かった部分と、コピーしなくてもPHP5は使えるという補足的なちょっとイイ話(笑)を書いておきます。

そんなわけでまずはインストールです。私は以下のサイトを参考にさせて頂きました。
php5 手動インストール+cgi-mode(レンタルサーバ)
activecollab
さくらのレンタルサーバでPHP5

さてインストールも無事終わり、拡張子.phpでPHP5が動くよう.htaccessを設定して作業完了です。
とりあえずphpinfoを見てみるとバージョンが5.1.6に変わり、他の項目も4.4.4とほぼ一緒、PHP5.iniの設定もちゃんと反映されているようです。
次にBlogを表示させるとこちらも問題なく表示され、PHP製のページ分割プラグインなどもちゃんと動作しているようです。
ということで、移行作業は大したトラブルもなくあっさりと終わってしまいました。
が、ここにちょっとした落とし穴が・・・。

何故か4.4で開発していたGD(画像処理関数)を使った処理が動かなくなってしまいました。
(サイドバーの「最近の画像とか」で使用)

で、PHPのエラーログを見ると「Call to undefined function ImageRotate()」とメッセージがあり、画像を回転させるImageRotate関数が未定義となっているようです。
関数が未定義?ってことで調べてみると、どうやらImageRotateなどの一部の関数はPHPバンドルのGDライブラリでないと使えないとのこと。
更にバンドル版?ってことで調べてみると、何とconfigureからやり直さないとダメなことが判明しましたorz。
imagefilterでサムライフィクション風

そんなわけでPHP5.1.6をGDバンドル版としてインストールするには、configureのGD関連パラメータを次のようにします。

--with-gd --with-jpeg-dir --with-png-dir --with-zlib-dir --with-ttf --with-freetype-dir=/usr/local --enable-gd-native-ttf --enable-gd-jis-conv

インストール時に紹介したサイトでは以下のようにディレクトリが付いていますが、これだとGDバンドル版にはなりません。GD関数をフルに使いたい方は要注意です。

--with-gd=/usr/local --with-jpeg-dir=/usr --with-png-dir=/usr --with-freetype-dir=/usr --with-ttf

ということで、インストールし直してphpinfoでGD周りを確認。
「Version bundled (2.0.28 compatible)」となっているようで、これでようやく画像の回転が行えますヽ(´ー`)ノ

ちなみにImagettfText関数を使ってちょこッとSisterと文字を入れているのですが、PHP4.4だと文字コードがUTF-8で問題ないのに、PHP5.1だとShift-jisにしないと文字化けを起こします。
--enable-gd-jis-convのJISマッピング指定ってそういうことなの?
まあ微妙な現象も残っていますが、GDに関してはこれで全関数が使えるようになります。


さて、次はPHP5インストール後にコピーしないで使う方法とか。
上で紹介したサイトでは最後の方でcpコマンドで~www/cgi-binなどにPHP5本体をコピーしています。
本来はスマートにシンボリックリンクmod_aliasなどを使いたいところですが、さくらのレンタルサーバでは500エラーとなり動きません。
そこで仕方なくコピーしているというわけです。ですが実はもう少しだけマシな方法があります。
それは「ハードリンク」を作成することです。
やり方はcpコマンドをそのままlnコマンドに置き換えるだけでOK。こんな感じです。

cp /home/xxxxx/bin/php(php-cgi) /home/xxxxx/www/cgi-bin/php5.cgi
ln /home/xxxxx/bin/php(php-cgi) /home/xxxxx/www/cgi-bin/php5.cgi

・2007/06/03【追記補足】
 PHP5.2.3以降は仕様が変わり、cgi動作用実行ファイル名がphp→php-cgiとなります。
 従来のphpはモジュール動作用なので、それをcp、またはlnするとエラー500 Internal Server Errorを起こして動きません。
 間違えないようにして下さい。

一見するとlnで作成されたファイルはサイズも同じで、cpと変わらないように見えます。
ですが、実体は元のPHP5本体と同じIノードポインタ(ディスク領域の管理番号)を使っています。
なのでPHP5本体の約10MB×ドメイン分の領域が節約出来る、というわけです。
但し更新された時点でIノードポインタは変わりますので、リビルド後はハードリンクで作成したファイルを一旦削除、再度リンクを張り直す必要があります。
手間はcpと同じですが、少しでも無駄をなくしたい人向けのワンポイントテクニック(笑)ということで紹介しました。

余談ですがハードリンクはその名の由来通り?、同じファイルシステム上でしか作れません。
そのためPHP4を.php以外の拡張子で動かしたい場合の手順中のcpをlnに置き換えることは出来ません。
これはシステムとユーザー領域が別パーティションになっているためです。

てなわけで、一応他のサイトで触れていない部分を外向けに書いたつもりのメモ書き終わり。
これからPHP5を入れる人の参考になれば・・・ってなるかな('A`)
なおBlogなどで使う分には起動時のオーバーヘッド(CGIモードなので)で、気持ち速くなったかな?程度しか感じないかも知れません。
但し文字列置換などのベンチを取ると、標準の4.4.4より5.1.6の方が明らかに速い結果が出たということは言っておきます。

【関連するトピックス】
さくらのレンタルサーバへPHP5.2.5をインストール
さくらのレンタルサーバへPHP5.2.4をインストール
さくらのレンタルサーバへPHP5.2.3をインストール
さくらのレンタルサーバへPHP5.2.2をインストール
さくらのレンタルサーバへPHP5.2.1をインストール
さくらのレンタルサーバへPHP5.2.0をインストール

【関連するリンク】
PHP: Hypertext Preprocessor

2006年10月27日 (金曜日)

[ BLOG ]

MT4iを新しいgoogle携帯変換サービスへ対応させる

MT4iイメージ - 154 x 201
以前より本サイトでは携帯サイト用に「MT4i」(太鉄様作)を使わせて頂いてます。
この「MT4i」はBlogを単に携帯用に変換するだけでなく、外部リンクもgoogleの携帯変換サービスを経由し、携帯で閲覧可能にする処理も行っています。
ところが数日前よりMT4i経由の外部リンクが全て「DNSが見付かりません」というメッセージとともに、接続不可能になってしまいました。
調べてみると携帯変換サービス用URL「wmlproxy.google.com」がDNSの参照が出来ない状態になっているようです。
google.comによるサービスが終了したのか、それとも単にURLが変わったのか、その理由は知る由もありません。
ただ日本では少し前より「www.google.co.jp」による携帯変換サービスも始まっていることから、こちらに切り替えてしまえばとりあえず問題は解決しそうです。

ということで「MT4i」の外部リンク変換処理を変更し、「www.google.co.jp」の変換サービスへ対応させたものが以下のソースです。
ベースはVer2.13ですが、他のバージョンにも僅かな手直しで適用出来ると思います。
で、お約束ですが予め無保証であることをお断わりするとともに、適用にはperlやcgiの基礎知識が必要であるということをご承知おきください。
またこのサービスは他所から勝手に使っていいのかグレーゾーンな部分があります(^^;
なのでそれも承知の上で本修正をご利用くださいませ。
※参考Google モバイルが Mobile Link Discovery をサポートしている模様

変更適用前(Ver.2.13、MT4i本体3371行あたり)

# "/"→"@2F"、"?"→"@3F"、"+"→"@2B"
$url =~ s/\//\@2F/g;
$url =~ s/\?/\@3F/g;
$url =~ s/\+/\@2B/g;

# URLを生成
my $chtmltransurl = 'http://wmlproxy.google.com/chtmltrans/h=ja/u=';
$url = $chtmltransurl . $url . "/c=0";
変更適用後
# 新google携帯変換URLに対応
# "/"→"%2F"、"?"→"%3F"、"+"→"%2B"
$url =~ s/\//\%2F/g;
$url =~ s/\?/\%3F/g;
$url =~ s/\+/\%2B/g;

# URLを生成
my $chtmltransurl = 'http://www.google.co.jp/gwt/n?mrestrict=chtml&source=m&output=chtml&hl=ja&u=';
$url = $chtmltransurl . $url;

作業的にはVer2.13であれば上の既存部分をコメント化し、下のソースをコピー&ペーストして終わりです。
修正の中身についてですが、google.co.jpのサービス仕様に合わせてパラメータの調整、及びURLの渡し方を変えただけです。
#URLエンコード部の「@」を「%」に変更、末尾に付加していた「/c=0」を消去、変換サービスURLを置き換えただけ。
わかる人が見れば大したことをやっていないことがわかるでしょう(^^;

追加情報。
新しい携帯変換サービスは画像を縮小表示するため、従来のものより変換・転送時間がかかるようです。
軽い画像なしの方が好みの場合、URL部分に「&_gwt_noimg=1」を追加することで、テキストのみにすることも可能です。
ただし何れも初期表示に影響するだけで、変換後は自由に画像あり・なしが選択出来ます。

画像あり(上記変更ソースのもの)

http://www.google.co.jp/gwt/n?mrestrict=chtml&source=m&output=chtml&hl=ja&u=

テキストのみ
http://www.google.co.jp/gwt/n?mrestrict=chtml&source=m&output=chtml&hl=ja&_gwt_noimg=1&u=

・2006/10/28【追記】
 太鉄様からトラックバックが。ありがとうございます。
 元々やっつけで修正して公開する予定はなかったのですが、需要がありそうということで改めてVer2.13仕様(ここのは2.0+セキュリティ対策+α版なので)に手直したものが上のソースです。
 この変更を適用された方も何とか動作したようで、とりあえず人心地が付いた感じです。

・2006/10/31【追記】
 他のサイトにパラメータを削ったものが公開されていたけど、あのままだと動かないと思うのですが(^^;
 ちなみに変換サービス用URLに付加するパラメータの最小は以下の通りです。
 ただこれだと変換後に若干余計なものが付くので自分はあえてオプションを追加しています。
 なお「http://www.google.co.jp/gwt/n」みたくパラメータを付与しないとURL入力画面が表示されます。
画像あり+α

http://www.google.co.jp/gwt/n?u=

・2006/11/01【追記】
 太鉄様Blogで実は勝手に使っちゃまずいURLなんじゃないかというお話を今更ながら拝見。
 ということで、その件に関して若干追記しました。

【関連するリンク】
Google モバイルが Mobile Link Discovery をサポートしている模様

2006年10月11日 (水曜日)

[ BLOG ]

アマゾンECS経由の在庫表記変更とか

そんなわけで少し前よりサイト上のアマゾン商品に暫定的に在庫数を付加していたわけですが、これを正式に独自の表示方式に変更しました。

在庫表示に関する条件は以下のようになっています。ま、殆どの方は気にされないと思いますが・・・。

在庫数(X)表示
30<X在庫状況:◎
10<=X<=30在庫状況:〇
4<=X<=9残りX点在庫あり。
X<=3残りX点。ご注文はお早めに

この変更により10以上の在庫数が生のままで表示されなくなります。
合わせてRSSフィードも同様の表示になりますので、幾つかの記事がRSSリーダーに更新検知されなくなります。
ようは在庫豊富なアマゾン商品を掲載する記事の無駄な更新検知をなくしたかったわけです。
在庫が3桁ある商品が一つ売れただけでいちいち反応するのはうざいだけですからね。
なおポップアップの在庫表示はそのままにしていますので、そちらで今まで通り生の在庫数を見ることが可能になっています。

ちなみに今回以前より使わせて貰っているlilboxにも在庫表示を追加しています。
表示は若干異なりますが仕様は△以外同じです。(△は「通常1~2週間以内に発送」などの状態)

ということで、以下はそのサンプルです。
それと試験公開中ですが、AWSを利用した商品検索サイト「Doll Style Shop」にも在庫数を付加しましたので宜しければこちらもお試しください(^^;

アクションフィギュアコレクション
月詠-MOON PHASE- 葉月
アクションフィギュアコレクション+ 月詠-MOON PHASE- 葉月
参考価格:¥ 15,750 (税込)
ユーズド:¥ 6,000 より
出品者から発送
ピュアニーモ Aタイプ
フルセット
PNA001-SKN
ピュアニーモ Aタイプ フルセット PNA001-SKN
参考価格:¥ 2,730 (税込)
現在、在庫切れです
ピュアニーモ Bタイプ
胴&首
PNB001-SKN
ピュアニーモ Bタイプ 胴&首 PNB001-SKN
参考価格:¥ 525 (税込)
現在、在庫切れです
ピュアニーモ Bタイプ
腰&腿
PNB002-SKN
ピュアニーモ Bタイプ 腰&腿 PNB002-SKN
参考価格:¥ 630 (税込)
現在、在庫切れです
ピュアニーモ Bタイプ
右腕
PNB003-SKN
ピュアニーモ Bタイプ 右腕 PNB003-SKN
参考価格:¥ 630 (税込)
現在、在庫切れです
ピュアニーモ Bタイプ
左腕
PNB004-SKN
ピュアニーモ Bタイプ 左腕 PNB004-SKN
¥ 489 (税込)(22%OFF)
通常2~3週間以内に発送
ピュアニーモ Bタイプ
右脚
PNB005-SKN
ピュアニーモ Bタイプ 右脚 PNB005-SKN
参考価格:¥ 525 (税込)
現在、在庫切れです
ピュアニーモ Bタイプ
左脚
PNB006-SKN
参考価格:¥ 525 (税込)
現在、在庫切れです

そういえば一つ書き忘れてました。
今まで商品をクリックすると同じウィンドウ内でアマゾンに移動していましたが、全て新しいウィンドウで開くようになりました。
過去AWSで商品ページを生成していた時の名残りで自サイトと同じ扱いでしたが、今回lilboxも含め全てのリンクを見直しました。
別ウィンドウで開くことに関して人それぞれ意見があるでしょうが、テキストリンクは以前よりそうだったわけで、統一されたということで一つよろしくお願いします。

【AmazonECS4.0関連リンク】
Amazon E-Commerce Service on 2006-09-11 リリース情報
Amazon E-Commerce Service (API Version 2006-09-13) Developer Guide
Amazon Web Services Developer Connection : Japanese(日本語フォーラム)

【関連するトピックス】
AmazonECS4.0新API対応。2ndえっくす☆きゅーとの在庫状況とか
AmazonECS4.0 2006-09-11(WSDL/API Ver.2006-09-13)リリース
AmazonECS4.0 2006-07-26(WSDL/API Ver.2006-06-28)リリース
AmazonECS4.0(WSDL/API Ver.2006-06-07)リリース
AmazonECS4.0にカスタマーレビュー復活
AmazonECS4.0(WSDL/API Ver.2006-05-17)リリース
AmazonECS4.0(WSDL/API Ver.2005-10-13)リリース
AmazonECSを利用してアゾンのいちごパンツをチェック(*´Д`)
アマゾン画像、AmazonECSを動的に呼び出す
AmazonECS4.0新ビルド、Version2005-10-05リリース
AmazonECS4.0新ビルド、Version2005-07-26リリース
「みかにハラスメント」アマゾン入荷キター!
AmazonECS4.0に新ビルド、Version2005-03-23リリース
AmazonECS4.0に新ビルド、Version2005-02-23リリース
XSLTでリクエストを連鎖的に発行
AmazonECS4.0に新ビルドリリース
AECS4.0がバグっての続報
AECS4.0がバグってハニー┐('~`;)┌
不正文字は個別対処?
AECS4.0へ移行
AECS4.0はバグあり?

【関連するリンク】
Amazon Web サービス ブログ
Amazon Webサービス