[PHP] CakePHPの設定

普通にXAMPPとか使ってる人には縁のない話なのだと思うけど、私は時間単位で詰まったのでメモ。

apache2.2.11
WinXP SP3
PHP 5.2.10
MySQL 5.1.35

この環境でCakePHP 2.03を動かしたとき、設定が正しいはずなのにCakePHPがDBに繋がらなかった。

多分設定は皆見る。注意するのは2点。

1、ポート番号を指定すること

$default の設定の部分に”port”を指定して、ポート番号かsockを指定する

‘port’=>” // stringでね

2. php.iniでphp_pdo_mysql.dllを有効にしておくこと

;extension=php_pdo_mysql.dll
という項目があるので頭のセミコロンを外す。

上のextension=php_pdo.dllが有効になってたので油断した…。

[PHP] ロリポップ環境下におけるpearの使用

amazon関連のpackageを使いたかったので、借りてるlolipop上でpearを動かすことにする。

まず、go-pearを探す。
http://pear.php.net/manual/ja/installation.getting.php

「ホスティング環境下でのPHP」を参考に、ドキュメントルート下に/pearを作って、そこにgo-pear.phpを設置してアクセス。何をするのかよく分からんし、とりあえずパーミッションは777にしておいた。

実行すると中々立派なGUIが出る。

そのままインストールを続けようとすると、以下のようなエラーが出る。

Fatal error: No PEAR.php in supplied PEAR directory: @pear_dir@ in /home/users/2/lolipop.jp-dp13261450/web/index.php on line 24

ということで、/pearに生成されたindex.phpをいじる。@pear_dir@の部分を/pearまでのパスに書き換える。

パスはユーザ専用ページに書いてあったはず。

ページ下部のQuick install a packageでパッケージ名を入力する。

目当てのServices_Amazonに辿りつくまで、dependencyの関係で2つ3つのパッケージのインストールについて聞かれたけど、無事に導入成功。

Services_Amazonは、インスタンス生成時に以下の情報が必要。

  • AWSのKeyID
  • 同上に付随するSecret key
  • Associate ID

上記のアカウントは、以下のサイトで登録して持ってくる。
http://www.amazon.co.jp/gp/feature.html/?docId=451209
の一番上。

Services_Amazon::ItemSearch(mixed array);で検索を行う事ができる。

required parameterとしては、以下のようなindexを持つ値を連想配列で食わせる必要がある
‘Keywords’,’Title’,’Power’,’BrowseNode’,’Artist’,’Author’,’Actor’,’Director’,’AudienceRating’,’Manufacturer’,’MusicLabel’,’Composer’,’Publisher’,’Brand’,’Conductor’,’Orchestra’,’TextStream’,’Cuisine’,’City’,’Neighborhood’