Windows 上で php と xdebug のソースコードをコンパイルする方法
インターネット上には php のソースコードのコンパイルに関する紹介はたくさんありますが、xdebug のソースコードのコンパイルに関する紹介はほとんどありません。ここでは私の経験に基づいて説明します。実際の操作には、Apache ソース コードのコンパイルも含まれます。
1. PHP コンパイル
コンパイル ツールとして vs2008 を使用しますが、他の場合は PHP コンパイル キットも必要です。これは PHP 公式 Web サイト http://windows.php.net/ からダウンロードできます。 /php-sdk/ をダウンロードします。これをダウンロードします:
php-sdk-binary-tools-20110915.zip
e:php-sdk ディレクトリにリリースされると仮定します
スタート メニューからコマンド ライン モードに入ります:
まず vs2008 の環境を設定し、ネーミング モードで 2008 のインストール パスを入力します (c:program filesmicorosft Visual Studio v9.0 であると仮定します)。このディレクトリの下の vc サブディレクトリ:
cd vc
c:program filesmicorosft Visual Studio v9.0vc この時点で、vcvarsall.bat
c:program filesmicorosft Visual を実行します。 Studio v9 .0vcvcvarsall.bat
このようにして、2008 の実行環境が構築されます。
次のステップは、php-sdk ディレクトリに入り、
e:php-sdk
binphpsdk_setvars.bat
次に実行します: binphpsdk_buildtree.bat phpdevこれにより、現在のディレクトリにサブディレクトリ phpdev が作成されます。ダウンロードした php ソース コードをそのサブディレクトリ vc9/x86 に置きます。以下では 5.4.73 を使用します。例として、ディレクトリは次のようになります: e:php-sdkphpdevvc9/x86/php-5.4.37php-5.4.37 ディレクトリに入り、buildconf
、configure.bat、configure.js ファイルが生成されます
再度実行します:
configure --disable-all - -enable-cli
この時点で、makefile ファイルが生成され、このファイルをコンパイルに使用できます。
nmake を直接実行するだけです。
この時点では、コマンドラインの php 実行ファイルのみが生成されます。Web をセットアップする場合は、cgi php 実行ファイルが必要です。次のように、enable-cgi を設定した後に追加 --
configure --disable-all --enable-cli --enable-cgi
場合によっては、 Apache で使用するには、Apache のパラメータを追加する必要があります (ここでは例として Apache 2.2 を使用します):
configure --disable-all --enable-cli --enable-cgi --enable- apache2-2handler
ただし、現時点では Apache SDK (h ファイルと lib ファイル) が必要であることに注意してください。公式は、deps ファイルに含まれる 2008 用の対応する SDK パッケージを提供しています。 -5.4-vc9-x86 ファイルは公式 Web サイトからダウンロードできます。
ダウンロードしたら、deps ディレクトリにリリースするだけです。
追記: この方法は vc6 がバージョン 5.3 の php をコンパイルするのにも適していますが、現時点では最初に 2003sdk をインストールする必要があり、エラーが発生した場合は、ファイルを手動で変更する必要があります (ext/standard /broscap.c ファイルにはいくつかのエラーがあります);
さらに、vc6 の公式依存パッケージは提供されなくなりました。たとえば、Apache モジュールをコンパイルすることはできません。現時点では、Apache をコンパイルして SDK を抽出しているのは私だけです。
2. xdebug コンパイル
事前準備:
2003sdk または 6.1 sdk が必要です。メニューから xp のコンパイル環境に入ります。上記の方法を使用して vs2008 環境を追加します。
xdebug をコンパイルするには、php の SDK を使用する必要があります。これは、上記の環境で再度実行するだけです。 🎜 >nmake install
デフォルトでは、php ディレクトリが C ドライブに生成され、このディレクトリに phpize.bat ファイルが含まれます。
バージョン 2.2.7 であると仮定して、xdebug ソース コードを前の x86 ディレクトリにリリースします。したがって、ディレクトリは xdebug-2.2.7 になります
このディレクトリに入り、phpize を実行し、通常はフルパスを実行します:
c:phpsdkphpize
これにより、configure.bat、configure.js、confi.nice.bat の 3 つのドキュメントが生成されます
再度実行します
configure --with-xdebug
makefile を生成
最後に、
nmake
を実行して、
に含めますrelease_ts ディレクトリ php_xdebug.dll
が生成されます。 注: xdebug の 2.2.7 バージョンは PHP 5.4.37 では正常にコンパイルできますが、5.3 では正常にコンパイルできません。 ×。また、2.1.x の xdebug は、PHP 5.4.37 では正常にコンパイルできません。
vc6、2003sdk はバージョン 2.2.22 Apache をコンパイルできますが、前提条件はダウンロードすることです:
apr -1.5.1-win32-src.zip、arp-iconv-1.2.1-win32-src-r2.zip、apr-util-1.5.4-win32-src.zip
これらを解凍しますこれらをソース コードの srclib ディレクトリに置き、存在する場合は置き換えます。
2003 SDK メニュー項目から XP、32 ビット環境に入ります。
ソース コード ディレクトリに入り、次のコマンドを実行します。
nmake /f makefile.win
次に、次を実行します:
nmake /f makefilw.win INSTDIR=c:apache
この時点で、awk 実行可能ファイルが見つからないというエラーが表示されますが、次のことがわかります。 c:apache ディレクトリに何かがあります
インクルード パスと lib パスを php の deps の対応するパスにコピーします、
depsincludeapache2_2 (h ファイルが含まれています)
depslibapache2_2 (lib ファイルが含まれています)
この時点で、
configure --disable-all --enable-apache2_2handler
nmake
を実行します。 Apacheモジュールを生成します。