PHP 拡張モジュールのインストールと作成については、必要な友人が参照できます。 1. PHP ソースコードのインストール (php6 を例にします) 公式サイトからphp6のソースコードをダウンロードし、解凍します 解凍したフォルダーに入ります ./buildconf --force ./configure --prefix=/usr/local/php6 --enable-fpm 上記の 2 行は、インストール情報の設定に使用されます。./ は現在のディレクトリでプログラムを使用することを示し、--prefix はインストールされるディレクトリを示します。 作る PHPのソースコードをコンパイルする
メイクインストール インストール
/usr/local/php6/bin -v これは、インストールが成功したかどうかをテストするために使用できます
2.PHP拡張モジュールのインストール モジュールのロード方法(例としてpcntl) CD ソースコード下の ext/pcntl フォルダーに入るコマンド
/usr/local/php6/bin/phpize phpize プログラムは、拡張機能をロードするために使用されるプログラムです。ここでは、拡張機能をロードする必要がある php の phpize を使用する必要があります (複数の php がある場合)。 ./configure--with-php-config=/usr/local/php6/bin/php-config 拡張モジュールの情報を設定します。 理由は上記と同じです(拡張機能をロードする必要があるPHPの構成を選択します) これは、PHPと拡張モジュールの構成を同じにするためです 作る コンパイル コンパイル後、現在のディレクトリのモジュールの下にpcntl.soが生成されます pcntl.so を PHP インストールディレクトリ (できれば ext の下) にコピーします php.ini を変更します (このファイルは、phpinfo() を実行して php.ini メソッドを検索すると見つかります。通常は lib の下にあります。見つかったパスに php.ini がない場合は、自分で新しいファイルを作成する必要があります) パス extensions=pcntl.so を内部に追加します これで実行準備完了です
3.PHPカスタム拡張モジュール computeDistance(positionX,positionY)という関数が必要だとします distance.skel ファイルの内容を次のように記述します int computeDistance(int 位置 X,int 位置 Y) このファイルは、必要なモジュールを説明しています ./ext_skel--extname= distance --proto= distance.skel プログラム ext_skel は、モジュール全体のフレームワークを生成するために上記で使用されています 2 つのパラメータは次のとおりです。 モジュール名、モジュール説明ファイル 新しく生成されたモジュールフォルダーに入ります config.m4を変更する
距離を変更します。c PHP_FUNCTION 関数を見つけてパラメータを computeDistance に変更します つまり、呼び出す必要がある関数の名前に変更し、関数の内容を自分で変更します 次の手順は上記と同じです phpize ./configure 作る コピー 設定ファイルを変更する |