Windows用の手動PHPインストール
- 24-07-2022
- Toanngo92
- 0 Comments
Mục lục
Windows用の手動PHPインストール
ApacheWebサーバーを選択します
Windows用のApache2にはいくつかのビルドがあります。 ApacheのApacheLoungeビルドを使用することをお勧めします。その他のオプションには、BitNami、XAMPP、およびWampServerが含まれます。これらの3つのツールは、自動インストールツールを提供します。 PHPは、mod_fastcgiおよびmod_phpを介してApacheで使用できます。 Mod_phpには、同じバージョンのVisual Cと同じCPU(x86またはx64)でビルドされたスレッドセーフ(TS)Apacheビルドが必要です。
プログラミングのコンテキストでは、ビルドはプログラムのバージョンです。
PHPのビルドを選択します
Windowsベースの最新のPHPバージョンは、 https://windows.php.net/download/からダウンロードできます。
MicrosoftWindows上のApache2.4
Apache 2.4サーバーの基本的な理解については、公式のApacheドキュメントを参照してから、Apache2.4をダウンロードする必要があります。
ダウンロードしたら、ユーザーは最初に手動インストール手順( https://www.php.net/manual/en/install.windows.manual.php )を実行してから、Apache統合とPHPに進む必要があります。
PHPをセットアップし、「Windows」プラットフォームでApache 2.4で動作させるには、3つの方法があります。PHPは、CGI、ハンドラー、またはFastCGIで実行できます。
オプション1:Apacheハンドラーとしてインストール
Apache 2.4用のPHPモジュールをロードするには、Apache構成ファイルhttpd.confの次の行を次のように挿入する必要があります。
LoadModule php_module "e:/php/php8apache2_4.dll"
<FilesMatch .php$>
SetHandler application/x-httpd-php
</FilesMatch>
PHPIniDir "C:/php"
重要:例では、c:/php/の代わりにPHPの実際のインストールパスを置き換える必要があります。 loadModuleディレクティブで参照されているファイルが指定された場所にあることを確認してください。 PHP8にはphpSapache2_4.dllを使用します。
オプション2:PHPをCHOLDとして実行する
ユーザーは、ApacheでのCGI実装の簡潔で完全な理解について、ApacheCGIドキュメントを参照する必要があります。
PHP-CGIファイルは、PGIをCGIとして実行するために、scriptaliasコマンドを使用してCGIディレクトリとして指定されたディレクトリに配置する必要があります。
1 #!この行はPHPファイルに配置する必要があり、この行はPHPバイナリの場所を指している必要があります。
例えば:
#!C:/php/php.exe
<?php
phpinfo();
?>
サーバーがCGIモードで展開されている場合、多くの脆弱性が考えられます。ユーザーは、このような攻撃から身を守る方法を知るために、マニュアルのCGIセキュリティセクションを読む必要があります。
オプション3:FastCGIでPHPを実行する
FastCGIでPHPを実行することには、CGIとして実行するよりもいくつかの利点があります。このように設定するのも簡単で簡単です。
https://www.apachelounge.comからmod_fcgidをダウンロードします。 Win32バイナリは、そのサイトからダウンロードできます。ユーザーは、同封の指示に従ってモジュールをインストールする必要があります。
ユーザーはWebサーバーを構成し、パスの調整にも注意する必要があります。例えば:
LoadModule fcgid_module modules/mod_fegid.so
# Xác định vị trí file php.ini
FegidInitialEny PHPRC "c:/php"
<FilesMatch .php$> /* code to configure PHP and will run program using SetHandler fcgid-script FastCGI wrapper*/
</FilesMatch>
FegidWrapper "c:/php/php-cgi.exe" .php
完了すると、拡張子が.phpのファイルがFastCGIPHPラッパーによって実行されるようになります。
WindowsにPHP8.0を使用してApacheをインストールするには、上記の手順を実行する必要があります。 ApacheとPHPのバージョンが異なる場合は、適切な手順を検討する必要があります。
Apacheサーバーはwww.apache.org/dist/httpd/binaries/win32からダウンロードする必要があります。拡張子がno_sre.msiの安定版リリースの現在のバージョンをダウンロードすることをお勧めします。インストーラーファイルをダブルクリックしてインストールします。 C:ProgramFilesのデフォルトのインストール場所。インストーラーは、Apacheをサービスとして、またはコマンドラインまたはDOS環境から実行するようにユーザーに促します。したがって、起動時に問題が発生する可能性があるため、ユーザーはサービスとしてインストールしないでください。
PHPバイナリアーカイブは、解凍ユーティリティを使用して解凍する必要があります。 C:PHPは一般的に使用される場所です。
一部の.dllファイルは、PHPディレクトリからシステムディレクトリ(通常はC: Windows)にコピーする必要があります。どのファイルのマニュアルを参照してください。ユーザーはすべての場合にphp8ts.dllを必要とします。 Webサーバーモジュールに対応するファイル(C: PHP Sapi phpS8apache.dll)をコピーします。 Apacheモジュールディレクトリに。
推奨されるphp.ini-distまたはphp.iniをWindowsフォルダーにコピーし、名前をphp.iniに変更する必要があります。
このファイルは、構成ディレクティブを受け取るために編集する必要があるため、テキストエディターで開きます。新規ユーザーは、開発マシンで作成するPHPスクリプトにE_ALLのエラーレポートを含めることができます。これにより、PHPによってすべてのエラーが報告され、新しいユーザーがより迅速にデバッグまたはトラブルシューティングできるようになります。
次に、ユーザーは、PHPファイルを探す場所とPHPファイル拡張子をApacheサーバーに設定して通信する必要があります。通常、phpが標準ですが、ユーザーは.html、.phtmlなどを使用できます。
これを行うには、適切なHTTP構成ファイルディレクトリに移動し、テキストエディタでhttpd.confを開きます。たとえば、ユーザーがProgram FilesApacheディレクトリにApacheをインストールした可能性があります。その場合、構成ファイルのパスはC: Program Files apacheconfになります。
次に、httpd.confファイルでDocumentRootという単語を検索します。この単語は2回表示されます。 PHPファイルがロードされるディレクトリへの両方のパスを変更します。ユーザーは、次のように少なくとも1つのPHP拡張ディレクティブを追加する必要があります。
LoadModule php8_module modules/php8apache.dll AddType application/x-httpd-php .php .phtml
または、次の行を追加することもできます:addModule mod_php8.c
次に、ユーザーは次のようにWWWサービスを再起動します。
- Windowsの[ファイル名を指定して実行]コマンドにservices.mscと入力するか、コントロールパネルから[サービス]を起動します。
- リストを下にスクロールしてGlobalWebPublishing Serviceに移動し、右クリックして[停止]を選択します。
- 次に、右クリックして[開始]を選択し、最初からやり直します。
必要に応じて、ユーザーはコンピューターを再起動することもできます。
次に、ユーザーはテキストエディターを起動し、PHPのインストールをテストするための基本的なスクリプトを作成できます。
<? php phpinfo ();
このファイルをWebサーバーのルートディレクトリにtest.phpとして保存し、ブラウザでhttp://localhost/test.phpまたはhttp://127.0.0.1/test.phpの形式で起動します。ユーザーは、ローカルパスから直接PHPファイルを起動しないでください。たとえば、 D: PhpCodetest.phpをブラウザのアドレスバーに指定しないでください。これは、その場合、ファイルの処理に必要なHTTPリクエストとは見なされないためです。