• 締切済み

PHPで自作DLLはどうやって作成するのでしょうか

PHP初心者です。 PHPで使用する自作のDLLを作成したいのですが、 その環境を整備するのに困っています。 英語のマニュアルはあるようなのですが、理解に苦しんでいます。 現在の私の環境はWinXPで、 VC2003Proがインストールされており、追加でVC2008Expもインストールしました。 VC2008Expは上記の英語マニュアルに記載されていたので、インストールしたものです。 この他にはPHPの動作環境をセットアップするためにXAMPPというソフトで 環境を整備しました。 XAMPPではApache:2.2  PHP:5.3.5 がインストールされました。

みんなの回答

回答No.2

直接の回答ではないのですがなんらかの参考になれば。 細かいことをいろいろ調査なさったのでしょうが、基本戦略から見直すこともときには必要かと思います。 私はIT業界けっこう長いですがPHPからwindowsのDLLを呼ぶという話は聞いたことがありません。 もし質問者がそういう話を知っているというのであればできるのかもしれませんが かなりレアなケースかもしれません。 それよりも私が思うのは、それってもしかして使うべきはPHPじゃないかもということです。 PHPは主にPHPで書かれた関数群やクラス群を呼び出して使います。 それらは自分で書いたり他者が書いて公開しているものをコピーして使ったりします。 いずれも可読可能なテキストファイルで、DLLファイルのようなものではありません。 まあPHPはそういう文化とでもいいましょうかそういうものです。 ですからwindowsのDLLを使ってWebサイトで動かすものということは、 PHPじゃなくもしかしてASP.NETやC#.NETなどのほうが親和性がいいのではないか と思うのです。プラスIISとかね。 同じwindows界あるいはMicrosoft界のことですからPHPよりは方策が見つけやすいのではないでしょうか。 ご健闘を祈ります。 別案:DLLじゃないけど。PHPから直接EXEファイルを実行して結果だけもらう という手も有り。PHPには外部コマンドを実行する関数system()やexec()があるので。

m_katsu
質問者

お礼

いろいろご指摘下さり、本当にありがとうございます。 できるだけプログラミングがない人でも壁とならないような言語がよいと 思っていたので、PHPなら、、、と思ったのですが、 確かに今回のような目的ではPHPは不向きなのかもしれません。 >私はIT業界けっこう長いですがPHPからwindowsのDLLを呼ぶという話は聞いたことがありません。 そうですか、、、なんとかできると思っていたのですが残念です。 他の言語での検討も含めて再検討したいと思います。 本当にありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

>PHP初心者 機能を拡張したいとかそういう話ですか? やるにしてもクラスをつかってライブラリあたりから手掛けるのが 普通だと思いますがそれをすっとばして初心者にしてDLLが 必要な理由はありますか?(課題とか委託業務とか?)

m_katsu
質問者

補足

早速の回答ありがとうございます。 すいません。 実は昨日「VCで作成した共有メモリは参照できないのでしょうか」 こんな質問をさせて頂いており、その後としてDLLといういうところに 行き着いた次第なんです。 >必要な理由はありますか?(課題とか委託業務とか?)  と、いう点に関しては課題のようなものです。 後、ご指摘頂いた >クラスをつかってライブラリ に関してなのですが、この「ライブラリ」とはDLLとは異なる 別の何かってことでしょうか? それでは宜しくお願い致します。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • インストール: php-ntsにphp5apache2.dllがない

    よろしくお願いします。 PHPには、php-5.3.0-Win32-VC9-x86.zip、php-5.3.0-nts-Win32-VC9-x86.zipがありますが、nts版には何故「php5apache2.dll」が入ってないのでしょうか? httpd.confのLoadModuleでphp5apache2.dllのPATHを設定しますが、php5apache2.dllがないのでTS版から抜きだしてくる必要があります。 しかしNTS版に入れないのは、それなりの理由があると思うのです。 ISAPIを利用しない限りはNTS版インストールを推奨されているようですが、これだけでは理由がわかりません。 何かご存知の方おられましたら、是非 ご教授ください。 (環境)WindowsXP pro SP3、apache2.2.13、PHP 5.3.0 ActivePerl 5.10.1

    • ベストアンサー
    • PHP
  • Apache+PHPで動かない・・・

    phpを初めて約三ヶ月、開発環境の整備はXAMPPに丸投げにしていたのですが、「勉強の為にもApacheなどを手入れして行ったほうが良い」 と言われ、挑戦してみた者です。 環境は、WindowsXPです。 どうやらApacheの設定から言って、おかしいようなのです。 C:/apache/にインストールしたのですが、 コントロールパネル→管理ツール→サービスで確認してみると、C:/bin/httpd.exe で実行されるのです。 C:/apache/bin/httpd.exeで実行されないとおかしい気もするのですが・・・ それで、C:/にapacheの同梱フォルダを全てコピーし、設置したところ、動きました。 しかし、「サービス」はC:/bin/httpd.exeで実行されているのに、htdocsなどはC:/apache/で実行されているらしいのです。 Apacheの設定自体がわかりません。従ってPHPの設定もできません。 ApacheとPHPの導入に関しては、http://buzzword.jp/index.html とマニュアルを参考にしました。 やはり初心者はXAMPPで一括導入しておけよと言うことなのでしょうか・・・ 散乱文ですが、回答のほどよろしくお願いします。

  • 【現在、初期設定段階】php4apache.dllがみあたらない

    こんにちわ。 Apache、PHP、PostgreSQL3点セットをはじめたばかりの者です。環境は以下です。 ・php4.4.1 ・Apache 1.3.34 ・Windows XP Professional Apacheのhttpd.confファイルの初期設定で、LoadModuleにphp4apache.dllを追加しようと、~php/sapiの中を確認してみたところ、php4apache.dllが見当たりません。同じファイル名で、dllなじゃいものが~php/sapi/apacheに存在します(php4apache.dsp)。 php4apache.dllはドコにあるのでしょうか・・・。インストールがうまくいってないのでしょうか?? すみませんが、よろしくお願いいたします。

  • PHPにおいてopensslを有効にする方法

    PHP(XAMPP使用)においてopensslを有効にする方法 FuelPHPというフレームワークを導入しようと思い、 「はじめてのフレームワークとしてのFuelPHP」という 電子書籍を購入しました。 その書籍内で、「opensslを有効にする」という項目があり、 php.ini内の指定の場所に、 extension=php_openssl.dll という記述を付け加えるようにと指示がありました。 その通りにしてみたのですが、 Apacheを起動する際に、 PHP Startup: Unable to load dynamic library 'C:\xampp\php\ext\php_openssl.dll' - 指定されたモジュールが見つかりません。 というエラーメッセージが出ました。 そこで、openssl.dllを下記サイトよりダウンロードして、 ( http://jp.softpicks.net/dll/php_openssl-dll-1966 … ) C:\xampp\php\extフォルダの中に、 openssl.dllを入れてみました。 しかし、Apacheを再起動すると、 下記のような「Warning」が2度出ます。 PHP Startup: openssl: Unable to initialize module Module compiled with build ID=API20090606,TS,VC9 PHP compiled with build ID=API20090626,TS,VC6 These options need to match 上記の状態から、どうしても解決出来ないでいます。 ご教授頂けましたら幸いです。宜しくお願い致します。 環境: Windows7 64bit XAMPP Version1.7.2 PHP Version 5.3.0

    • ベストアンサー
    • PHP
  • PHP環境について

    PHP初心者です。 PHPの環境を作り、Windows環境のローカル端末にて開発をはじめようと思っているのですがApache HTTP Server 2.0.55とXAMPPをインストールし、XAMPPコントロールパネルからApacheのサービスを起動したにもかかわらず、下記内容のPHPファイルを作成してC:\Program Files\xampp\htdocs\info.php に保存してもphpの情報が表示されません(404Error)。 ーーーーーーーーー <?php phpinfo(); ?> ーーーーーーーーー また、XAMPPはhttp://localhost/xampp/index.php のアドレスでWebベースのXAMPPコントロールパネルが表示されるはずですが、表示されません(404Error)。 おそらくPHPが正常に動作していない(起動していない)ような気がするのですが、どのような原因が考えられますでしょうか?? ちなみにhttp://localhost/のアドレスだと「あなたの予想に反して・・・」の表示が確認できます。 また、ApacheがインストールPHP4⇔PHP5の切り替えはできます。 どんなことでも結構なのでご教授願います。

    • ベストアンサー
    • PHP
  • php4.0.6に対応するphp_mbstring.dll

    Apache1.3.35+PHP4.0.6でPHPのローカルテストをする環境を作ろうとしています。 ただ、PHP4.0.6にはマルチバイト文字関数を扱うphp_mbstring.dllが実装されていなく、マルチバイト文字関数を使えません。 後付で同dllを関連付けたいと思っているのですが、どうも他バージョンのdllは使えないらしいのです。 PHP4.0.6に対応するphp_mbstring.dllがどこにあるかご存知の方はいらっしゃいますでしょうか? また、関連付ける方法などご存知の方がいらっしゃいましたら、あわせて教えていただきますようよろしくお願いいたします。

    • ベストアンサー
    • PHP
  • WindowsにおけるPHP拡張モジュールcurlのインストール

    WindowsVistaにApacheとPHPを入れています。 各バージョン Apache:2.0.63 PHP:5.2.5 curlを使う必要がありphp.iniファイル内の ;extension=php_curl.dll を extension=php_curl.dll に変更しました。さらにネットでインストール方法をいろいろ検索し、ssleay32.dll、libeay32.dllをwindowsのsystem32にコピーしたりしてみましたが、phpinfo()ではいっこうにcurlが認識されません。 http://jp2.php.net/manual/ja/curl.setup.php では、「libcurl パッケージをインストールしておく必要があります。」という記述が見られますが、インストールの方法がわかりませんでした。どのようにインストールするのでしょうか?? windowsでのcurlのインストール方法を教えてください。よろしくお願いします。

    • 締切済み
    • PHP
  • XHProfをWindowsにインストールしたい

    XHProfをWindowsにインストールしたくて、「php_xhprof.dll」をキーワードにGoogleで検索し、ネットに落ちてたDLLファイルをC:\xampp\php\extに置き、php.iniに「extension=php_xhprof.dll」と加筆し、Apacheの再起動をかけたところ、Apacheが立ち上がりませんでした。 php_xhprof.dllを3種類ほど見つけてきて試しましたが、すべてApacheが立ち上がりませんでした。 解決方法をご教示ください。 [環境] Windows7(64bit) XAMPP1.7.7 PHP5.3.8

    • ベストアンサー
    • PHP
  • eclipseを使ったphpの開発環境について

    今、仕事でphpをすることになり、eclipseで開発環境を整えようとしているのですが、 うまくいきません。 流れとしては、 1.xamppをインストール  バージョンは、xampp-1.6.3a です。 2.Eclipse(all-in-one)のインストール  バージョンは、pdt-all-in-one-1.0-R20070917 です。 3.ZendDebuggerをインストール ZendDebugger-5.2.10-cygwin_nt-i386をダウンロードし、 バージョンにあった、ZendDebugger.dll を  C:\xampp\php\ext にインストール。 4.php.ini の書き換え。  C:\xampp\apache\bin\php.ini 内の[Zend]の項に、  zend_extension_ts="C:\xampp\php\ext\ZendDebugger.dll" zend_debugger.allow_hosts=127.0.0.1 zend_debugger.expose_remotely=always  を追加で書き込み。 この一連の流れでやったところ、apacheすら立ち上がらなくなりました。 いろいろ触ってみて、[Zend]の項で、  zend_extension_ts="C:\xampp\php\ext\ZendDebugger.dll" zend_debugger.allow_hosts=127.0.0.1 zend_debugger.expose_remotely=always 以外の部分に、すべて;をつけてみたところ、 eclipse自体は立ち上がったのですが、 こんどは、デバッグしようとすると、 エラーでまったくデバッグできないような状況です。 php.iniの書き換えを間違ってるような気がするのですが、 あまりそこについての情報がなく、困ってます。 どなたか教えてください。 よろしくお願い致します。

    • 締切済み
    • PHP
  • PHP5.3.0のSQlite関数に必要なDLL

    以前PHP5.0.4で動作していたSQLiteを利用したプログラムが Apacheでエラーが返ってきます。 現在の環境:PHP5.3.0 Apache2.2 php.iniに以下のようにつけくわえてもだめでした。 extension=php_pdo.dll extension=php_sqlite.dll 両方、5.3.0のextディレクトリにはなかったので、どっかから ダウンしましたが、このdllがいけないのか、php.iniの extensionが間違っているのかわからないという状態です。 ちなみにphp_pdo_sqlite.dllというファイルは、5.3.0のextフォルダに 最初からあったみたいなので、 extension=php_pdo.dll extension=php_pdo_sqlite.dll にしてみたのですが、これでもsqlite_open()関数をコールするところで、undefined function call というエラーがApacheから返ってきます。 いったいどうすればいいのでしょうか。