問題タブ [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 投票する
2 に答える
2397 参照

php - C++によるPHP拡張

私は最近PHP拡張機能の作成を検討し始め、C++を使用して拡張機能を構築するための開始点について説明しているこの記事を読みました。カスタマイズを開始すると、一部の機能を別のファイルに分割しようとして問題が発生しました。すべてが問題なくコンパイルおよびリンクされますが、実際に拡張機能を使用しようとするとエラーが発生します。正確なメッセージは次のとおりです。

2台のコンピューターでこれを試しましたが、どちらも同じ問題が発生します。Containerコンストラクターの実際の実装が見つからないことは理解していますが、適切な場所で表示する方法がわかりません。

ここに投稿する前に、できるだけ多くの綿毛を切り取ろうとしましたが、phpインターフェイスコードにはまだ多くの問題があります。コードは次のとおりです。

config.m4:

interface.h:

interface.cpp:

internals.h:

internals.cpp

次のコマンドを使用してビルドしています。

あなたが提供できるどんな助けにも感謝します

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

php - PHP拡張機能-別のPHP関数から独自のPHP関数を呼び出す

次のようなカスタムPHP拡張機能があるとします。

RSHUTDOWNハンドラーからmyfunction()を呼び出すにはどうすればよいですか?

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

php - EasyPHP フォルダに Zend ディレクトリが見つかりません

C での php 拡張機能の作成に関するチュートリアルを読んでいます。Visual Studio 2008 と EasyPHP を使用しており、そのディレクトリには /ext フォルダー (PHP 拡張機能ディレクトリ) が含まれています。

これはチュートリアルです: http://www.devarticles.com/c/a/Cplusplus/Developing-Custom-PHP-Extensions-Part-1/2/

ステップ 4 で問題が発生しました。

Blockquote 4. プリプロセッサ カテゴリで、次の「追加のインクルード ディレクトリ」を追加します: ....、....\main、....\Zend、....\TSRM、....\bindlib_w32。

easyphp forlder の main 、 zend 、 tsrm 、および bindlib_w32 ディレクトリを検索しましたが、見つかりませんでした。

EasyPHP に zend ディレクトリが含まれていない場合。正しいディレクトリにデプロイするにはどうすればよいですか?

事前にありがとう

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

php - Windows 用の PHP 拡張機能はどこからダウンロードできますか?

PHP インストールを PostgreSQL で動作するようにしようとしているので、php_pgsql.dll が必要です

非常にばかげた質問ですが、私の PHP5.3 用はどこで入手できますか?

http://php.net/manual/en/install.windows.extensions.phpを読みましたが、はい、このdllが必要ですが、ダウンロードリンクは必要ないと言われています。私は何が欠けていますか?

dll は私のインストールではデフォルトで存在しません:

代替テキスト

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

php - PHPZendEngine拡張機能と静的メソッド

php(5.3)の拡張機能を作成する際zend_class_entryに、静的メソッドのポインターにアクセスしたいと思います。

非静的メソッドでは、次のようにgetThis()マクロとマクロ内で使用できますZ_OBJCE_P

ここで問題があります。静的メソッドでは、マクロがポインターをgetThis()返すため、マクロを使用できません。nullZ_OBJCE_P

zend_class_entry静的メソッドからにアクセスするための解決策はありますか?

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

php-extension - PHP の起動: 動的ライブラリ '/usr/local/lib/php/extensions/no-debug-non-zts-20060613/' を読み込めません

新しい専用サーバーでこのエラー ログを取得しています。

PHP の起動: 動的ライブラリ '/usr/local/lib/php/extensions/no-debug-non-zts-20060613/' を読み込めません

php.ini で

拡張子 =

extension_dir = /usr/local/lib/php/extensions/no-debug-non-zts-20060613

ディレクトリはサーバーに存在しますが、なぜこれを取得しているのか理解できませんか?

thxそんなに

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

php - ArrayAccess はどのように機能しますか?

、 、などIterator、SPL から PHP の一般的に使用されるインターフェイスについて読んでいます。しかし、私はそれらがどのように機能するかを正確に理解していません。CountableArrayAccess

[]それらの実装は、配列演算子のオーバーロードなど、PHP のコア機能を変更しますか?

また、下位レベルの言語と同じ方法で他の演算子をオーバーロードする機能を提供する Operator 拡張機能についても読みました。Operator 拡張機能は明らかに PHP コアを変更するためArrayAccess、舞台裏で同じように動作するのではないかと考えていました。

私はいじくり屋なので、中身を知らずに何かを使うのは難しいと思います。

0 投票する
6 に答える
16295 参照

php - FreeType PHP 拡張機能がサーバーにインストールされているかどうかを検出する

PHP を実行しているサーバーに FreeType 拡張機能がインストールされているかどうかをテストするにはどうすればよいですか?

私は自分のサイトで簡単な CAPTCHA システムを作りたかったので、使用imagettftext()しましたが、うまくいきました。しかし、サーバーに FreeType ライブラリがインストールされていない場合はどうなるでしょうか。

コードを介して FreeType ライブラリを何らかの方法で検出し、存在しない場合は次のようなものにフォールバックする方法はありimagestring()ますか?

使用できない場合は、CAPTCHA のようなものには最大サイズが適していないためimagettftext()、大きなフォントのテキストを描画するための代替手段を検討する必要があるかもしれません。imagestring

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

php - PHP 5.3.5 でカスタム PHP 拡張機能をロードできない

カスタム PHP 拡張機能を Windows XP/IIS 5.1 開発マシンにロードしようとしていますが、うまくいきません。

私は持っている...

  • PHP 拡張 ( php_fortranwrapper.dll ) を PHP 5.3.5 インストールの「ext」サブフォルダーに 配置しました
  • 正しいphp.iniファイル (つまり、phpinfo() 出力にリストされている「Loaded Configuration File」エントリに対応するファイル) を 編集している
  • 前述の「ext」サブフォルダーを指すよう にphp.iniに設定extension_dirします
  • PHP拡張機能をロードするため に、 php.iniextension=php_fortranwrapper.dllにエントリを追加しました
  • IISを再起動しました(経由iisreset

スクリプトを実行するphpinfo()と、次のエラーで FastCGI がタイムアウトするまでページのロードが試行されます: FastCGI プロセスが構成された要求タイムアウトを超えました

PHP 拡張機能の名前を php_fortranwrapper1.dll に変更すると、論理的に次のエラーが表示
されます。見つかりませんでした。

参考までに、PHP 5.3.5 と、Delphi ソース コードから PHP 拡張機能をコンパイルするツールである PHP4Delphi を使用して、PHP 拡張機能を生成しました。私の Delphi コードは、Fortran DLL をロードし、その Fortran DLL 内の関数に整数を渡し、整数の結果が返されることを期待しています。

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

php - php.iniから配列を読み取るためにphpソース(cコード)を作成/パッチするにはどうすればよいですか?

私はphpの経験がありますが、phpソースとphp拡張機能の初心者です。1つの固定ディレクトリではなく、配列からupload_tmp_dirをランダムに選択するようにphpを拡張したいと思います。

これはphpのようには見えず、iniファイル読み取りコードにはiniファイル内の配列を解析する自然な機能があります。

ini定義の配列をphpのグローバル配列valにマッピングできる既存のコードまたは拡張機能(ツリー内またはツリー外)はありますか?

それ以外の場合は、「num_upload_dirs」、「upload_tmp_dir_1」、「upload_tmp_dir_2」などの初期値を導入してから、すべての値を明示的にチェックすると思います。

または、行解析およびグローバル配列作成ルーチンを自分でiniファイルリーダーに記述します。どちらもあまり魅力的ではありません。他に何か提案はありますか?