検索
ホームページバックエンド開発PHPチュートリアルWindows上でphpとxdebugのソースコードをコンパイルする方法

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.37

php-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 では正常にコンパイルできません。


3.apache コンパイル


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モジュールを生成します。








声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
PHPはユーザーのセッションをどのように識別しますか?PHPはユーザーのセッションをどのように識別しますか?May 01, 2025 am 12:23 AM

phpidentifiesauser'ssessionsingsinssessionCookiesIds.1)whensession_start()iscalled、phpgeneratesauniquesidstoredsored incoookienadphpsessidontheuser'sbrowser.2)thisidallowsphptortorieSessiondatadata fromthata

PHPセッションを保護するためのベストプラクティスは何ですか?PHPセッションを保護するためのベストプラクティスは何ですか?May 01, 2025 am 12:22 AM

PHPセッションのセキュリティは、次の測定を通じて達成できます。1。session_regenerate_id()を使用して、ユーザーがログインまたは重要な操作である場合にセッションIDを再生します。 2. HTTPSプロトコルを介して送信セッションIDを暗号化します。 3。Session_Save_Path()を使用して、セッションデータを保存し、権限を正しく設定するためのSecure Directoryを指定します。

PHPセッションファイルはデフォルトで保存されていますか?PHPセッションファイルはデフォルトで保存されていますか?May 01, 2025 am 12:15 AM

phpsessionFilesToredInthededirectoryspecifiedBysession.save_path、通常/tmponunix-likesystemsorc:\ windows \ temponwindows.tocustomizethis:1)uesession_save_path()tosetaCustomdirectory、ensuringit'swritadistradistradistradistradistra

PHPセッションからデータをどのように取得しますか?PHPセッションからデータをどのように取得しますか?May 01, 2025 am 12:11 AM

toretrievedatafrompsession、Startthessession withsession_start()andAccessvariablesshe $ _SessionArray.forexample:1)Startthessession:session_start()

セッションを使用してショッピングカートを実装するにはどうすればよいですか?セッションを使用してショッピングカートを実装するにはどうすればよいですか?May 01, 2025 am 12:10 AM

セッションを使用して効率的なショッピングカートシステムを構築する手順には、次のものがあります。1)セッションの定義と機能を理解します。セッションは、リクエスト全体でユーザーのステータスを維持するために使用されるサーバー側のストレージメカニズムです。 2)ショッピングカートに製品を追加するなど、基本的なセッション管理を実装します。 3)製品の量管理と削除をサポートし、高度な使用状況に拡大します。 4)セッションデータを持続し、安全なセッション識別子を使用することにより、パフォーマンスとセキュリティを最適化します。

PHPでインターフェイスをどのように作成して使用しますか?PHPでインターフェイスをどのように作成して使用しますか?Apr 30, 2025 pm 03:40 PM

この記事では、PHPでインターフェイスを作成、実装、および使用する方法について説明し、コード組織と保守性の利点に焦点を当てています。

crypt()とpassword_hash()の違いは何ですか?crypt()とpassword_hash()の違いは何ですか?Apr 30, 2025 pm 03:39 PM

この記事では、PHPのCrypt()とpassword_hash()の違いについて、パスワードハッシュの違いについて説明し、最新のWebアプリケーションの実装、セキュリティ、および適合性に焦点を当てています。

PHPのクロスサイトスクリプト(XSS)をどのように防ぐことができますか?PHPのクロスサイトスクリプト(XSS)をどのように防ぐことができますか?Apr 30, 2025 pm 03:38 PM

記事では、入力検証、出力エンコード、およびOWASP ESAPIやHTML浄化器などのツールを使用して、PHPのクロスサイトスクリプト(XSS)を防止します。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境