問題タブ [php-extension]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
325 参照

php - Windows XP の php 拡張機能

XP に php をインストールしましたが、mysql に拡張機能を追加できませんでした

php.iniで行ったことは次のとおりです。

そして、そのようなファイルがありますext/

しかし、調べてみるとphpinfo()、mysql拡張機能がまだ追加されていないことがわかりました。

私は何を間違ったのですか?

0 投票する
2 に答える
3363 参照

php - Visual Studio 2008 を使用して Windows で独自の PHP 拡張機能をコンパイルする

私はPHP拡張機能を書きましたが、コンパイルしてLinuxで正常に実行できました。しかし、Windowsでは、いくつかの問題に遭遇しました。

http://blog.slickedit.com/?p=128に従って、PHP ソース バージョン 5.2.10 を使用して Windows でコンパイルを行い、コンパイル後に dll ファイルを生成しました。しかし、dll ファイルを使用しようとすると、Apache(Wamp サーバー) の起動時にメモリの問題が報告されました。そして、デバッグ プロセスを開始しました。REGISTER_INI_ENTRIES() に問題があるようです。

PHP 拡張機能のソース コードhttp://www.bluefly.cn/xsplit.tar.gzは、Linux で正常に動作します。しかし、Windows でも動作するようにしたいと考えています。

申し訳ありませんが、私はプロではないので、誰かが私を助けてくれることを願っています.

どんな助けでも大歓迎です、そして前もって感謝します〜

0 投票する
1 に答える
747 参照

php - PHP の拡張関数から unsigned long long を返す

long を返す必要がある場合は、RETURN_LONG マクロを使用するだけです。しかし、unsigned long long を返す必要がある場合はどうすればよいでしょうか。このマクロを使用すると、データが破損します...

0 投票する
2 に答える
2221 参照

php - PHP 拡張機能が見つかりません

PHP が失敗し続け、何らかの理由で /ext/php_mssql.dll が見つからないというメッセージが表示されます。明らかに、私はフォルダをチェックしました、そしてそれは非常にそこにあります. なぜ失敗するのかわかりません。助言がありますか?

編集:

ntwdblib.dll を自分の php ディレクトリに入れましたが、エラーは「不正なゲートウェイです。指定された cgi アプリケーションは、http ヘッダーの完全なセットを返さないため、正しく動作しませんでした。返されたヘッダーは、「php を起動できませんでした: 可能性があります。 not load /ext/php_mssql.dll" を使用して、ヘッダーをまったく返さないようにします。

HTTP エラー 502.2 - ゲートウェイが正しくありません 指定された CGI アプリケーションは、HTTP ヘッダーの完全なセットを返さないため、正しく動作しませんでした。返されたヘッダーは "" です。

0 投票する
1 に答える
4699 参照

php - Windows 用の PHP 5.3 の拡張機能を DLL としてコンパイルするにはどうすればよいですか?

私は現在、拡張機能をコアにコンパイルする代わりに 、ビルド/コンパイル プロセスで を生成するPHPために最初に作成された拡張機能を書き直しています。環境はWindows Server 2003です。Visual Studio 2008を使用しています。PHP 4.2.2..dllPHP

EXT_SKEL スクリプトを使用してフレームワークを生成し、拡張機能を php コアに正常にコンパイルできました。.dll代わりに、クライアントに簡単に配布できるようにコンパイルしようとしています。PHP 5.3拡張機能.dllを静的にコンパイルするのではなく、ビルドプロセスに伝える方法について、誰かが私を正しい方向に向けることができますPHPか?

拡張機能のフレームワークを構築するには、次を実行します。

  1. php.exe ext_skel_win32.php --extname=myextension --proto=myprototypefile.dat
  2. 「ARG_ENABLE」行のコメントを外し、デフォルトを有効にするように config.w32 を変更しました
  3. buildconf.bat
  4. cscript /nologo configure.js
  5. nmake

PHP 内から拡張機能のメソッドを実行できることを確認しましたが、配布可能な .dll は生成されません。代わりに、メソッドを PHP バイナリにコンパイルします。誰かが私を正しい方向に向けることができますか?

0 投票する
4 に答える
2801 参照

php - PHPdocを使用したPHP拡張機能の文書化

私はCでPHP拡張機能を作成しましたが、ユーザーが拡張機能を呼び出すときにPHP IDE(この場合はNetbeans)でインラインドキュメントを取得できるように、PHPdocドキュメントを作成したいと思います。

理想的には、実装とドキュメントを一緒に保つために、CコードにPHPdocsを埋め込むことによってこれを実行したいと思います。

PHPdocsをCに埋め込むことが可能であると仮定すると、ドキュメントをNetbeansに表示するには(PHPコードのPHPdocsの場合と同様に)、どのような追加の手順が必要ですか?

編集:

O'Reilly Programming PHPは、ドキュメント生成で使用されているコメント形式を指し/* {{{ protoますが、参照されているスクリプトがPHPdocsを生成するかどうかはわかりません。

{{{proto行は、エディターでの折りたたみに使用されるだけでなく、PHPドキュメントプロジェクトの一部であるgenfunclistおよびgenfuncsummaryスクリプトによっても解析されます。拡張機能を配布する予定がなく、PHPにバンドルするという野心がない場合は、これらのコメントを削除できます。

0 投票する
5 に答える
2402 参照

php - Zend StudioでのPHP拡張機能のコード補完?

PECLからHTTP拡張機能をインストールした後、Zend Studio6が提供されたHTTP*クラスを認識し、コード補完が利用可能になることを期待していました。ただし、これは当てはまりません。Zend StudioにPHP拡張機能によって提供されるクラスを認識させるにはどうすればよいですか?具体的には、これらのクラスでコード競合を使用できるようにしたいと思います。

0 投票する
1 に答える
1443 参照

php - PHP拡張内で宣言されたクラスにオブジェクトプロパティとして配列を追加するにはどうすればよいですか?

PHP拡張機能で、次のPHPと同等のクラスを宣言したいと思います。

「高度なPHPプログラミング」と「PHPの拡張と埋め込み」の例に従っており、で整数プロパティを持つクラスを宣言できますPHP_MINIT_FUNCTION

ただし、同じアプローチを使用してで配列プロパティを宣言するとPHP_MINIT_FUNCTION、実行時に次のエラーメッセージが表示されます。

高度なPHPプログラミングの557ページに、配列プロパティを作成するコンストラクターを宣言する方法の例がありますが、サンプルコードはコンパイルされません(2番目の「オブジェクト」は冗長なようです)。

バグを修正し、コードに適合させました。

そしてこれはコンパイルされますが、構築時に同じランタイムエラーが発生します。

0 投票する
3 に答える
10399 参照

php - PHP を C++ で拡張しますか?

パフォーマンスを向上させるために C++ に移植したい、PHP で書かれたパフォーマンス集約型のルーチンがあります。C++ を使用してプラグインや拡張機能などを記述し、PHP からそれとやり取りする方法はありますか? 実際の PHP ソースを手動で編集せずに?

0 投票する
3 に答える
889 参照

c - PHP拡張用のzendを使用してphp.iniを読み取る(PHP言語ではない)

zendを使用してphp.iniからいくつかの設定を読み取ろうとしています。私が使用しているAPIは

ただし、常に0が返されます。名前を再確認し、php.iniで指定している値が0より大きいことを確認しました。不足しているものはありますか?