[PHP-users 32004] Re: MAMP に共有ライブラリをインストールする方法

うちやまひろかず sdr0x07b6 @ yahoo.co.jp
2007年 4月 21日 (土) 00:36:37 JST


うちやまです。大原さん、足立さん、ご回答ありがとうございます。

On 2007/04/19, at 16:50, oppara wrote:
Syck自体は先にコンパイルされてますか?

On 2007/04/20, at 2:31, clockwork-toy @ flashmail.com wrote:
私もMAMP使っていませんが,Panther上でApache,MySQL,php5を
個別にインストールした環境でSyckのmakeに成功しています.

こちらも、一般的な環境でのインストールは問題なくできます。
書き方がいけなかったかもしれませんが、今回の場合Syckをということよりは、
共有ライブラリ(全般)をMAMPのような「できあい」の環境にどう追加するのか
?そもそも追加できるのか?という質問でした。Xdebugなんかも同時に追加しよ
うとしています。

include/以下のディレクトリは元々MAMPに含まれていません。
それで
grep: /Applications/MAMP/bin/php5/include/php/main/php.h: No such file or
directory
のようなエラーも当然なのですが、

On 2007/04/20, at 2:31, clockwork-toy @ flashmail.com wrote:
もし見つかったらApplication/MAMP/bin/php/indludeにシンボリックリンクをは
ってごまかしませう

なるほど、言われてみればそれはそうですね。
MAMPのPHPは5.1.6で一般環境のPHPは5.2.1なのですが、5.1.6を探してソースから
拾ってこられなかったので、とりあえずで5.2.1のinclude/のシンボリックリンク
を置いてphpizeしてみました。
phpize時のエラーは抑制できました。
結果としては、php.iniで追加してもApacheの再起動時にエラーにならず、でも動
作しないので
dl( "syck.so" );
としたところ、
Warning: dl() [function.dl]: syck: Unable to initialize module Module
compiled with module API=20060613, debug=0, thread-safety=0 PHP compiled
with module API=20050922, debug=0, thread-safety=0 These options need to
match in ...
とのことでした。
実はこのエラーメッセージは、ヘッダファイルのシンボリックリンクを置かずにphpize
してビルドしてできたsyck.soをロードしても、同じものが出力されていたのは確
認していました。
ということで成果物としての進展はないのですが、考え方がわかってきたので、5.1.6
のヘッダファイルを入手できれば、もしかして成功するかもしれません。

それを探してからもう一度投稿させていただきます。
ご回答ありがとうございます。

うちやまひろかず
sdr0x07b6 @ yahoo.co.jp


PHP-users メーリングリストの案内