2011-01-14 16 views
1

Windows XP/IIS 5.1開発マシンでカスタムPHP拡張モジュールを読み込もうとしていますが、私は悲惨に失敗しています。PHP 5.3.5でカスタムPHP拡張機能を読み込めません

私が持っている...

  • は私のPHP 5.3.5のインストールの "EXT" サブフォルダにPHP拡張モジュール( php_fortranwrapper.dll)を置い
  • が正しいのphp.iniを編集して ファイル(すなわちのphpinfo()の出力にリストされている「ロードされた設定ファイル」エントリに対応するもの)
  • は、前述の「EXT」を指すように php.iniのextension_dirを設定サブフォルダ
  • phpinfo()スクリプトを実行する上でPHP拡張(iisresetを介して)
  • 再開IIS

をロードする php.iniのextension=php_fortranwrapper.dllエントリを追加し、それとのうちのFastCGI回まで、ページをロードしようとし次のエラー: 私はphp_fortranwrapper1.dllを言うためにPHP拡張モジュールの名前を変更する場合FastCGIプロセスが設定要求タイムアウト

を超えて、私は論理的に以下のERROを参照してくださいr:
PHPスタートアップ:ダイナミックライブラリ 'C:... \ php-5.3.5 \ ext \ php_fortranwrapper.dll'を読み込めません - 指定されたモジュールが見つかりませんでした。

詳細については、PHP 5.3.5およびPHP4Delphi(DelphiソースコードからPHP拡張機能をコンパイルするツール)を使用してPHP拡張機能を生成しました。私のDelphiコードはFortran DLLを読み込み、そのFortran DLL内の関数に整数を渡し、整数結果を返します。

+0

確かに、あなたが追加したいと思う 'zend_extension'はありませんか? –

+0

私はそうは思わない。 _php.ini_ファイルには「ダイナミックエクステンション」と呼ばれるセクションが含まれています。このセクションでは、エクステンションを自動的にロードするためのすべての 'extension = php_xxx.dll'(例:' extension = php_mysql.dll')文があります。私がカスタムPHP拡張モジュールをビルドする際に読んだチュートリアルのほとんどは、このセクションに別の行を追加して、カスタム拡張が自動的にロードされるよう助言しています。 – w5m

+0

もう少し調べたところ(this archived site参照)、zend_extensionsはZend Engine自体を拡張し、PHPの動作を変更することができます。私がしたいのは、PHPに機能を追加することだけです。 – w5m

答えて

1

カスタムPHP外部拡張機能を使用したことがありますか?

Delphiコードの一部を投稿して、内部の動作が何であるかを知ることができますか?あなたが前に任意の成功を持っていなかった場合は http://www.devarticles.com/c/a/Cplusplus/Developing-Custom-PHP-Extensions-Part-1/

は、多分このアイデアは、スタートのようになります。ここでは

のIgA1 Raizmanによって例は、テストする方法についていくつかの使用可能なアイデアを持っているかもしれCの++を使用していますか?

+0

遅れた返事のお詫び。リンクとあなたのコメントに感謝します。私はこれが自分のカスタムPHP外部拡張を作成する私の最初の試みだと思います。 1月から、私は実際には、(1)Delphiで書かれたCOMサーバと、(2)PHPのexecコマンドを使って呼び出されたDelphiで書かれたコンソールアプリケーションの2つの代替技術を使用して、Fortran DLLとPHPをインターフェースすることでより多くの成功を収めました。 – w5m

関連する問題