ホーム >> 左脳Script >> Movable Type >> Plugin開発 >> mtプラグインにおける Perl モジュール の配置 について

mtプラグインにおける Perl モジュール の配置 について


Movable Type プラグインを作ろうとして嵌った事。


use Digest::SHA qw(hmac_sha256_base64);

で、エラーがでる。
ということは、当然Digest::SHAが使えないと言う事になる。

Windowsの環境でテストしていたときは問題なかった(有効なモジュールだった)ので、 問題なかったのだが・・・

現在のサーバは、telnet やら SSH が使えない、チョッと古い思想の元で(失礼w)安定を実現しているサーバなので、「コレ入れてぇ~!」と頼むか、自分でナントカするしかない。

ひとまず、サーバ管理者に頼み込むのを最終手段にして、イロイロ調査してみる。



hmac_sha256_base64

perl で書かれた、モジュールがあるようだ。コレを上手い事配置して、利用してみる。

なにぶん Perl は使える所からかじるという方法で学んでいる為、知識が歯抜けで判らない事が多い。
そこで、「ユーザーモジュール?のリンク方法」も調査。


use Digest::SHA::PurePerl qw(hmac_sha256_base64);

まさか、コレだけ?で、肝心の PurePerl.pm はどこら辺に置けばヨイノカナ?



use lib 'パス';
で、モジュールの検索位置を追加できるようだ。これは任意の場所に置けると言うこと。
そして、自分のサーバのファイルの設置状況を理解しなければならない。


Movable Type プラグイン限定ならば・・・

と、サーバのホームページで、個人アカウントのフルパスを調べてから、思いつく。

Movable Type には、*.pm という perl モジュールが沢山使われている。 プラグイン作成でも、それを使う宣言をしているので、「使える」と言う点で確実である。

Movable Type のモジュールと同じところに置けば、少なくともプラグインからは確実に使えるハズ。

Movable Type のモジュールのルートは、

/インストールディレクトリ/lib/
と、なっている。
ここをルートとして、モジュールを配置すればいけそうだ。

上記の、Digest::SHA::PurePerl は、

/インストールディレクトリ/lib/Digest/SHA/
に、PurePerl.pm を置けば、プラグインからは使えるハズ!!

そして、プラグインコードの冒頭で、

use Digest::SHA qw(hmac_sha256_base64);
と、なっている所を、

use Digest::SHA::PurePerl qw(hmac_sha256_base64);
に、変更。

その結果、モジュール読み込みでエラーが出なくなった!上手くいったらしい。


まとめ

Movable Type プラグインに限れば、このモジュールのインストール?方向は非常に簡単で有効な手法になるだろう。
サーバにインストールされていない物でも、CPAN代替 Perl モジュールを見つけられれば、問題を回避できる。

そして、「/インストールディレクトリ/lib/」をルートとしてモジュールを配置すれば、プラグインで使用可能。

プラグインに限らない使い方(普通の cgi 等)をしたければ、「use lib 'パス';」で、パスを指定する必要がある。



トラックバック(0)

トラックバックURL: http://n-yagi.0r2.net/sanoupulurun/mt-tb.cgi/217

コメントする

ホーム >> 左脳Script >> Movable Type >> Plugin開発 >> mtプラグインにおける Perl モジュール の配置 について

アーカイブ

このブログ記事について

このページは、n-yagiが2009年7月14日 19:18に書いたブログ記事です。

ひとつ前のブログ記事は「swfobject.js を"使わない"フラッシュ貼り付けの方法」です。

次のブログ記事は「Twitter」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Creative Commons License
このブログはクリエイティブ・コモンズでライセンスされています。