Windows、windowsphp5.5でphp5.5開発環境と開発拡張機能を構成します
インターネット上には多くのチュートリアルがありますが、Windows での拡張機能の開発は比較的少なく、ほとんどが php5.3 バージョンより前のものであることがわかりました。今日は php5.5 を使用して php 拡張機能の開発について説明します。バージョンについて説明します
Windows環境(私個人のもの)
コードをコピーします コードは次のとおりです:
Windows 8.1 Enterprise Edition (mac os Boot Camp でインストール)
Visual Studio 2012 バージョン
msysgit (http://msysgit.github.io/ ダウンロード)
php-sdk-binary-tools-20110915.zip (http://windows.php.net/downloads/php-sdk/Download)
deps-5.5-vc11-x86.7z (http://windows.php.net/downloads/php-sdk/Download)
php-5.5.20 (http://php.net/downloads.php からダウンロード、このバージョンを選択できます)
第一歩
たとえば、php-sdk-binary-toolsのバイナリパッケージをC:php-sdkフォルダに解凍しました。現在のディレクトリ構造は次のとおりです。
コードをコピーします コードは次のとおりです:
C:php-sdk
--ビン
--スクリプト
--シェア
次に、Visual Studio 2012 をインストールした後、VS2012 ネイティブ ツール コマンド プロンプト コマンド ライン ツールを開きます
コードをコピーします コードは次のとおりです:
#ディレクトリを入力してください
cd C:php-sdk
#環境変数を設定する
binphpsdk_setvars.bat
#よく使うphp-sdkディレクトリを作成します
binphpsdk_buildtree.bat phpdev
binphpsdk_buildtree.bat ファイルを開くと、VC11 ではなく VC9 のみが作成されていることがわかりますが、php5.5 バージョンを開発する場合は、現時点では C:php- をコピーする必要があります。 sdkphpdevvc9 から C:php-sdkphpdevvc11 まで、現在のディレクトリ構造は次のとおりです:
コードをコピーします コードは次のとおりです:
C:php-sdkphpdev
deps-5.5-vc11-x86.7z をダウンロードしたので、deps-5.5-vc11-x86.7z を解凍し、C:php-sdkphpdevvc11x86deps フォルダーに上書きする必要があります。これには、必要なライブラリ ファイルといくつかの必要なツールが含まれています。 、など。
次に、ダウンロードした php-5.5.20.tar.bz2 を C:php-sdkphpdevvc11x86php-5.5.20 フォルダーに解凍します。
phpをコンパイルしてインストールします
VS2012 ネイティブ ツール コマンド プロンプトに戻る
#phpソースディレクトリのフォルダに入ります
cd c:php-sdkphpdevvc11x86php-5.5.20
ビルド構成
#
を使用して拡張コマンドとコンパイル コマンドを表示します
--help を設定します
php-sdk
php をインストールしていない場合は、まず php をコンパイルしてインストールできます
。
--disable-all --enable-cli を構成します
次に、「nmake」と入力して PHP をビルドし、コンパイルします
が表示されます。
んまけ
php.exe ファイルが C:php-sdkphpdevvc11x86php-5.5.20Release_TS フォルダーに生成されるので、コマンド ラインで php コマンドを使用できるように、このパスを環境変数に追加します。
PHP の最初の拡張機能を開発しています
widuu() 関数を開発したい場合、効果は次のようになります
コードをコピーします
コードは次のとおりです:
functionwiduu($string){
「最初の拡張機能 {$string} は問題ありません」を返します;
}
拡張機能のディレクトリを入力し、拡張機能のフォルダーを生成します
コードをコピーします
コードは次のとおりです:
cd C:php-sdkphpdevvc11x86php-5.5.20ext
#php ext_skel_win32.php --extname=拡張機能名を入力してください
php ext_skel_win32.php --extname=widuuweb
現時点では、C:php-sdkphpdevvc11x86php-5.5.20ext にディレクトリ widuuweb があり、
で widuuwebphp_widuuweb.h を開きます。
#PHP_MINFO_FUNCTION(widuuweb); 次の行に独自の関数を記述します。たとえば、widuu() 関数を定義します
PHP_FUNCTION(ウィドゥ);
php_widuuweb.c を開いて、PHP_FUNCTION (confirm_widuuweb_compiled) の下に関数を記述します
コードをコピーします
コードは次のとおりです:
PHP_FUNCTION(ウィドゥ){
char *arg_string = NULL;
int arg_len,str_len;
文字 *文字列;
If(zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,"s",&arg_string,&arg_len) == FAILURE){
戻る;
}
str_len = spprintf(&string,0,"最初の拡張子 %.78s は問題ありません",arg_string);
RETURN_STRINGL(string,str_len,0);
}
次に、PHP_FE(confirm_widuuweb_compiled, NULL) を見つけて、以下に関数を登録します
コードをコピーします コードは次のとおりです:
const zend_function_entry widuuweb_functions[] = {
PHP_FE(confirm_widuuweb_compiled, NULL) /* テストのため、後で削除します */
PHP_FE(ウィドゥウ,NULL)
PHP_FE_END /* widuuweb_functions[] の最後の行である必要があります */
};
C:php-sdkphpdevvc11x86php-5.5.20extwiduuwebconfig.w32を変更して削除します
// ARG_ENABLE("widuuweb", "widuuweb サポートを有効にする", "no");
前のコメント、コマンドラインと比較して、 cd .. php-5.5.20 ディレクトリに移動し、次のコマンドを入力します
buildconf --force
#ビュー拡張機能
--help を設定します
エラーがある場合は、それを開いてディレクトリ内のconfigure.jsを確認してください。エラーが発生したのはconfigure.jsの4791行目でした。
ARG_ENABLE("widuuweb", "widuuweb サポートを有効にする", "いいえ");
余分な */ コメントがあります。削除してから再度入力してください
--help を設定します
見たよ、行列だ
--enable-widuuweb widuuweb サポートを有効にする
次に、設定します
--disable-all --enable-cli --enable-widuuweb=shared を設定します
php動的拡張機能
その中で、--enable-widuuweb=shared 動的拡張は静的拡張の正反対です。
次に、nmake と入力します。完了後、C:php-sdkphpdevvc11x86php-5.5.20Release_TS ディレクトリに php_widuuweb.dll ファイルが見つかりました。これをテスト用の環境に配置できます。
ローカルに PHP 環境がインストールされていないが、私のように PHP をコンパイルしただけの場合、テストしたい場合は、効果を確認するために静的コンパイルをお勧めします
configure --disable-all --enable-cli --enable-widuuweb=static
んまけ
次に、Release_TS ディレクトリに
を入力します。
php -r "echo widuu('widuu');" //出力「最初の拡張子 widuu は問題ありません」
わかりました。今後はゆっくり説明します。基本的な ZEND_API については、メッセージを残してください。
http://www.bkjia.com/PHPjc/932468.html
www.bkjia.com本当http://www.bkjia.com/PHPjc/932468.html技術記事 Windows での php5.5 開発環境と開発拡張機能の構成 Windowsphp5.5 のチュートリアルはインターネット上にたくさんありますが、Windows での拡張機能の開発は比較的少なく、ほとんどが php5.3 バージョンであることがわかりました。