- ベストアンサー
PHPからのライブラリ関数コール
あちこち検索したのですが、うまくヒットしません。 Linuxにて作成したC言語のダイナミックリンクライブラリ(xxxxx.so)の関数をPHPから実行することは可能でしょうか。実現可能であれば、PHP側ではどのような手順が必要ですか。よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
*一般的に*と問われると非常に答えにくいです:-) 既存のライブラリを他の(PHP以外)アプリケーションでも利用している。そのライブラリ作成に相当の時間的コストがかかっておりPHPスクリプトで書き直すよりは、拡張モジュールを作成する方に利がある。または、共通のライブラリを利用することで、テスト行程を大幅短縮できる。 利用を考えているライブラリが認証モジュールであるとか、クラッキングされたとしても安易にロジックが外部に漏れることを防ぐ為とかにもある程度有効。 色々と考慮した上で、利用することになります。 php自身、基本部分を除くと、大半が外部のライブラリを呼び出し利用するための拡張モジュールで構成されているという点を考慮するなら、C言語で書かれたライブラリを*当然*として利用しているとも言えます。
その他の回答 (1)
実行するためには、ライブラリを利用するための インタフェースを実装する必要があります。 参考URLにあるZendAPIに則り拡張モジュールを 作成してください。 和訳がまだ無いのが辛いところですが。 拡張モジュールに触れた日本語の書籍としては、 PHP4徹底攻略 実戦編―実践的Webアプリケーション開発技法 広川 類,小山 哲志,桑村 潤 共著 出版社: ソフトバンクパブリッシング ISBN: 4797315199 があります。(日本語としては唯一かも)
お礼
senberoさん、ありがとうございました。 PHPについてはまったくの初心者なので困ってました。 追加の質問をさせていただいてもよろしいでしょうか。 実際にPHP+C言語ライブラリでWebサイトを構築する、というのは一般におこなわれている方法なのでしょうか? とりあえず、教えていただいたURLを一読してみたいとい思ってますが、ちゃんと理解できるのかどうか・・・。 ありがとうございました。
お礼
またまたsenberoさん、ありがとうございました。 日本PHPユーザ会の過去MLにも同様の投稿がありました。 (勝手にLinkしちゃって良かったのかしら???) http://ns1.php.gr.jp/pipermail/php-users/2003-February/013590.html この方はVCで作成されたライブラリをPHPから呼び出したいようですが。 もう少し調べてみることにします。ありがとうございました。