Category Archives: PEAR

Mac 10.7.2にPEARを入れる。

表題通り、PHPのPEARをMacにインストールするというお話です。
portからhomebrew派になった私としては、 brew install pearなどしてみましたが、ありませんでした(笑)

でも実は(XCode入れてるからかもしれないけど)Macにインストーラが用意されてるんですね。

$ ls /usr/lib/php/
build extensions install-pear-nozlib.phar pear

といわけで実行します。

# php install-pear-nozlib.phar
[PEAR] Archive_Tar - installed: 1.3.7
[PEAR] Console_Getopt - installed: 1.3.0
[PEAR] Structures_Graph- installed: 1.0.4
[PEAR] XML_Util - installed: 1.2.1
[PEAR] PEAR - installed: 1.9.4
Wrote PEAR system config file at: /private/etc/pear.conf
You may want to add: /usr/lib/php/pear to your php.ini include_path

php.iniのinclude_pathに/usr/lib/php/pearを追加しておきましょう。

HTTP_RequestとHTTP_Request2の速度比較

http_request http_request2

10回

2.298秒 3.748秒

2.248秒 3.814秒

2.282秒 3.650秒

100回

22.825秒 37.209秒

22.289秒 38.675秒

22.598秒 38.534秒

1000回

238.429秒 359.032秒

引用元: pear HTTP_RequestとHTTP_Request2の速度比較 | ユメーディア blog.

時代の流れでHttp_Request2を使ってますけど、この結果を鑑みるにHttp_Requestを使いたくなりますね。
うーむ。

MacでPearを使う。

MacでPEAR、Portとかにあるのかな?
でもまあ普通にインストール出来てしまったので、これで。

Manual :: Getting and installing the PEAR package manager.

$ wget http://pear.php.net/go-pear.phar
$ sudo php -d detect_unicode=0 go-pear.phar

途中でインストールするディレクトリを、apacheなどから見えるところに変更しておきます。

/Library/php/pear

など。

上記の場所にインストールされた場合、pearを叩く時は、

$ /Library/php/pear/bin/pear

とかpathを通したりして使いましょう。Let’s Pear。

HTTP_OAuthを利用してTwitterのOAuth認証を行う

HTTP_OAuthを利用してTwitterのOAuth認証を行う @ php-tips.

最近はPEARでライブラリをインストールするのがマイブームなのでw
PEARのHTTP_OAuthでOAuthってみました。上記のサイトを参考にガシガシと。ありがとうございますー

ちなみに、

pear/HTTP_Request2 can optionally use PHP extension "openssl"

と言われるので、該当のextensionが入っているかチェックをお忘れなく。

php53@CentOS5.6にPearを追加。

CentOS5.6でPHP5.3を動かしてますけど、php53-pearというpkgはないんですよね。
というわけで普通にPearをインストール。

# yum install php-pear
$ pear list

INSTALLED PACKAGES, CHANNEL PEAR.PHP.NET:=========================================PACKAGE VERSION STATEArchive_Tar 1.3.1 stable
Console_Getopt 1.2 stable
PEAR 1.4.9 stable
Pager 2.4.8 stable
XML_RPC 1.5.0 stable

この時点でDepricatedなwarningがでまくりですw
そこでPear本体をupdate。

# pear upgrade PEAR
$ pear list

INSTALLED PACKAGES, CHANNEL PEAR.PHP.NET:
=========================================
PACKAGE VERSION STATE
Archive_Tar 1.3.7 stable
Console_Getopt 1.3.1 stable
PEAR 1.9.3 stable
Pager 2.4.8 stable
Structures_Graph 1.0.4 stable
XML_RPC 1.5.0 stable
XML_Util 1.2.1 stable

1.9.3になりました。もうlistを表示するだけでWarningが出たりしません。

とりあえずこれで大丈夫かな??

openpear

openpear :: Open PEAR Repository Channel

PHP ユーザーにとって、PEAR ライブラリはとても便利なものですが、そのライブラリを自分で作って公開することはとても気軽にできることではありませんでした。 openpear を使うと、用意された Subversion のリポジトリから自動でパッケージングし openpear のチャンネルへの登録も同時に行うことが出来ます。PHP 開発者はこの機会に是非登録して、あなたの作成したライブラリを共有しませんか?

素敵なものキター。
ちょっと触ってみますヨ。。

Spreadsheet_Excel_Writerでwriteを重ねてはいけない

Spreadsheet_Excel_Writerで同じセルにwriteを重ねるとExcel2007で期待通りに表示されないという現象です。

同じセルに対して(上書きの意味で)Writeを重ねたExcelファイルを、Excel2007で読み込むと、警告エラーが出て、最初に指定した $worksheet->write が表示されてしまいます。

以前のOfficeでは、後でwriteしたデータが反映されていたんですが。うーむ。作り直しだな。

PEAR::Services_Rakuten

楽天オークション系対応-PEAR::Services_Rakuten-0.2.2リリース | Shin x blog

楽天APIをちょいちょいのちょいで使える素敵ライブラリです。

[php]
execute(array(‘keyword’ => ‘大福’));
var_dump($api->getLastUrl());
var_dump($api->getResultData());
// 楽天商品ジャンル検索
$api = Services_Rakuten::factory(‘GenreSearch’, DEV_ID, AFF_ID);
$api->execute();
var_dump($api->getLastUrl());
var_dump($api->getResultData());
// 楽天商品コード検索
$api = Services_Rakuten::factory(‘ItemCodeSearch’, DEV_ID, AFF_ID);
$api->execute(array(‘itemCode’ => ‘book:11907840’));
var_dump($api->getLastUrl());
var_dump($api->getResultData());
// 楽天カタログ検索
$api = Services_Rakuten::factory(‘CatalogSearch’, DEV_ID, AFF_ID);
$api->execute(array(‘keyword’ => ‘ワンセグ’));
var_dump($api->getLastUrl());
var_dump($api->getResultData());
?>
[/php]

取得したデータを配列で返すので扱いやすいのではないでしょうか。

PEAR::Pager で Digg っぽいページャを作る

cl.pocari.org – PEAR::Pager で Digg っぽいページャを作る

DiggのPagerといえば

digg_pager.png

これ。かっこいいですね。結構簡単に出来ますので、取り入れたい方は是非。

requires PEAR Installer (version >= 1.6.0) などと出た時の pearアップグレード

Linuxのディストリビューションパッケージでpearを入れて、例えばMail_Mimeをインストールした時など、


# pear install Mail_Mime
WARNING: channel "pear.php.net" has updated its protocols, use "channel-update p
ear.php.net" to update
pear/Mail_Mime requires PEAR Installer (version >= 1.6.0), installed version is
1.4.9
pear/Mail_mimeDecode requires PEAR Installer (version >= 1.6.0), installed versi
on is 1.4.9
pear/Mail_mimeDecode requires package "pear/Mail_Mime" (version >= 1.4.0, exclud
ed versions: 1.4.0)
No valid packages found
install failed

pearのバージョン新しくしてよ、と怒られます。でも、WARNINGメッセージ通りに

# pear channel-update pear.php.net

としても、何も変わらないことが多いので、pear upgrade でやってしまいましょう。

# pear upgrade pear

無事、アップグレードできましたでしょうか。