ウィンドウ|コンパイル|ソースコード
ソースからビルドする
ソース コードからビルドする
始める前に、次の 2 つの理由を考えてみる価値があります: 「Windows でのビルドはなぜ難しいのですか?」質問: 「Windows でのビルドはなぜ難しいのですか?」: 「Windows で php をコンパイルするのはなぜそれほど難しいのですか?」、注意すべき 2 つの理由:
Windows には、喜んで開発する大規模なコミュニティが (まだ) ありません。直接の結果として、そのような開発をサポートするために必要なインフラストラクチャへの投資が行われていないため、利用可能なものは Unix から移植することによって可能になっています。この
の伝統の一部が時折表れても驚かないでください
Windows はコードを無料で共有することに積極的な大規模な開発コミュニティではありません。直接的な結果として、これらの開発をサポートするためのインフラストラクチャへの投資は確立されていませんでしたが、Unix では確立されていた可能性があります。
以下のほとんどすべての手順は「設定して忘れる」タイプのものですので、落ち着いて以下の
の手順にできるだけ忠実に従ってください。 " ". したがって、以下の手順をできるだけ厳密に従ってください。
準備
始める前に、たくさんダウンロードする必要があります....
準備:
始める前に、たくさんダウンロードする必要があります.... !
まず、最寄りの Cygnus ミラー サイトから Cygwin ツールキットを入手してください。探しているのは cygwin.exe ファイルです。
ビルド プロセスで使用される一般的な GNU ユーティリティのほとんどが提供されます。 / /sources.redhat.com/cygwin/download.html
まず、最寄りの Cygnus ミラー サイトから Cygwin ツールボックスを入手します。探しているのは cygwin.exe ファイルです。彼は、コンパイル プロセス用の一般的な GNU ツールのほとんどを提供しています。
必要な残りのビルド ツールを http://www.php.net/extra/win32build.zip の PHP サイトからダウンロードします
ダウンロードします。コンパイルに必要なその他のツールは、PHP サイトから入手してください:
PHP で使用される DNS 名リゾルバーのソース コードを http://www.php.net/extra/bindlib_w32.zip で入手します。これは resolv の代替品です
。 win32build.zip に含まれる .lib ライブラリ
DNS 名前解決のために PHP で使用されるソース コードを取得します。 win32build.zip 内の resolv.lib ファイルを置き換えます
解凍ユーティリティをまだお持ちでない場合は、無料版が InfoZip から入手できます
解凍ユーティリティをまだお持ちでない場合は、それが必要になります。 InfoZip には無料のものがあります。 !
最後に、PHP 4 自体のソースが必要になります。匿名 CVS を使用して最新の開発バージョンを入手できます。
スナップショットまたはソース tarball を取得した場合は、それを解凍して解凍する必要があります。ただし、Microsoft Visual C++ が処理を行う前に、*.dsp および *.dsw ファイル内の裸の
ラインフィードを crlfs に変換する必要があります
最後に、PHP 自体のソース コードが必要です。匿名 CVS を使用して、最新の開発リリースを取得できます。スナップショットまたはソース tarball を取得した場合は、それを展開する必要があるだけでなく、Microsoft Visual C++ がすべてを処理できるようになる前に、*.dsp および *.dws ファイル内の空の改行を変換する必要もあります。キャリッジリターン
!
注: ビルド
プロセス中にプロジェクトが見つかるように、Zend ディレクトリと TSRM ディレクトリを php4 ディレクトリ内に配置します。
cygwin.exe を実行し、インストール手順に従います。c:cygnus 以外のパスにインストールする場合は、Cygwin 環境変数を設定して
ビルド プロセスに通知します。環境変数を設定するには、autoexec.bat に 1 行を追加します。Windows NT では、[マイ コンピュータ] => [コントロール パネル] => [システム] に移動し、
[環境] タブを選択し、
cygwin.exe を実行します。インストール手順。 C:cygnus 以外のパスにインストールすることを選択した場合は、cygwin 環境変数を設定してビルド プログラムに通知する必要があります。
Windows 95/98 では、Autoexec.bat に行を追加することで環境変数を設定できます。 Windows NT で、[マイ コンピュータ] => [システム] を開き、[ミラー変数] タブ
を選択します。
警告
Cygwin が使用する一時ディレクトリを作成してください。そうしないと、Windows 95/98 では mkdir
C:TMP、Windows NT では mkdir %SystemDrive%tmp が失敗します。 :
Cygwin が使用する一時ディレクトリを作成します。そうしないと、多くのコマンド (特に bison) が失敗します。 Windows 95/98 では、ディレクトリ mkdir c:tmp を作成し、Windows NT
mkdir %SystemDrive%tmp の下にディレクトリを作成します。
ディレクトリを作成し、そこに win32build.zip を解凍します。
Microsoft Visual C++ を起動し、ダイアログで [ツール] > [オプション] を選択します。 [ディレクトリ] タブで、ドロップダウンを [実行可能ファイル]、[インクルード ファイル]、[ライブラリ ファイル] に順に変更し、それぞれ cygwinbin、win32buildinclude、
、win32buildlib が含まれていることを確認します (エントリを追加するには、最後にある空白行を選択します。典型的なエントリは次のようになります:
Microsoft Visual C++ を実行し、メニューから [ツール] => [オプション] を選択し、[実行可能ファイル] タブを選択します。
行)、include (インクルード ファイル)、および Library (ライブラリ ファイル) ファイルのそれぞれのリストに、cygwinbin、win32buildinclude、win32buildlib が含まれていることを確認します。 (
エントリを追加するには、まずリストの最後にある空白行を選択してから、次のように入力します:
c:cygnusbin
c:php-win32buildinclude
c:php-win32buildlib
[OK] を押して、Visual C++ を終了します。
[OK] を押します。 Visual C++ を終了します
別のディレクトリを作成し、bindlib_w32.zip をその中に解凍します。デバッグ シンボルを使用可能にするか (bindlib -
Win32 デバッグ)、使用しないか (bindlib - Win32 リリース) を決定します。別のディレクトリで、blindlib_w32.zip を展開します。デバッグ シンボルが必要かどうかを決定します。適切な構成を作成します。
GUI ユーザーの場合は、[ファイル] => [ワークスペースを開く] を選択し、[bindlib] を選択して、[ビルド] => [アクティブに設定]
を選択し、最後に [ビルド] => [すべて再構築] を選択します。
GUI ユーザーの場合は、VC++ を実行し、[ファイル] => [ワークスペースを開く] を選択してから、[bindlib] を選択し、[ビルド] => [アクティブ構成の設定] を選択して、目的の
構成を選択します。最後に [Build] => [Rebuild All] を選択します。
コマンド ライン ユーザーの場合は、C++ 環境変数が登録されているか、vcvars.bat を実行していることを確認してから、
次のいずれかを実行します。
コマンド ライン ユーザーの場合C++ 環境変数を登録しているか、vcvars.bat を実行していることを確認してから、次のいずれかを実行します
msdev bindinglib.dsp /MAKE "bindlib - Win32 Debug"
msdev bindinglib.dsp /MAKE "bindlib - Win32 Release "
この時点で、Debug サブディレクトリまたは Release サブディレクトリに使用可能な resolv.lib が存在するはずです。このファイルを、そこにある同じ名前のファイル上に
buildlib ディレクトリにコピーします。 resolv.lib は、Debug または Release サブディレクトリにあります。このファイルを win32buildlib ディレクトリにコピーし、そこにある同じ名前のファイルを上書きします。
コンパイル
コンパイル
始めるための最良の方法は、スタンドアロン/CGI バージョンをビルドすることです。
ワークスペースを開き、[Build=] を選択します。 >アクティブ
設定を選択し、最後に [ビルド] を選択します。
GUI ユーザーの場合は、[ファイル] => [ワークスペースを開く] を選択し、[php4ts] を選択して、[ビルド] => [アクティブな設定] を選択します。をクリックして、目的の構成を選択します。
最後に [Build] => [Rebuild All] を選択します。
コマンド ライン ユーザーの場合は、C++ 環境変数が登録されているか、vcvars.bat を実行していることを確認してから、
次のいずれかを実行します。
コマンドの場合line ユーザーの場合は、C++ 環境変数を登録しているか、vcvars.bat を実行していることを確認してから、次のいずれかを実行します
msdev php4ts.dsp /MAKE "php4ts - Win32 Debug_TS"
msdev php4ts.dsp /MAKE "php4ts - Win32 Release_TS"
この時点で、Debug_TS または Release_TS サブディレクトリに使用可能な php.exe が存在するはずです。
この時点で、Debug_TS または Release_TS サブディレクトリに使用可能な php.exe を取得できます。
PHP と Microsoft IIS の統合に必要なコードを構築するには、php4isapi.dsp (sapiisapi にあります) で上記の手順を繰り返します。
phpisapi.dsp (sapiisapi にあります) で上記の手順を繰り返します。 sapiisapi) ) Microsoft IIS isapi プログラムを作成します。