web-dev-qa-db-ja.com

最新のWindows10用のApache + PHP + MySQL

XAMPPとWampServerをセットアップし、Windows10でApache + PHP + MySQLの最新のインストーラーを手動でダウンロードしてセットアップしようとしましたが、毎回異なるエラーが発生します。誰かがWindows10にApache + PHP + MySQLをインストールすることについてアドバイスをくれますか?私はロシア語で読んで、そのような情報を行います:1) https://codeby.net/threads/ustanovka-i-nastrojka-servera-Apache-php-mysql-phpmyadmin-na-windows-10.67181/ 最後のApacheを起動すると、次のようなエラーが発生します:httpd.exe: Syntax error on line 75 of C:/server/bin/conf/httpd.conf: Cannot load modules/mod_actions.so into server:その後、すべてのモジュールがエラーでロードされます。 2) https://blog.denisbondar.com/post/Apache24php56win7 次のような最後のApacheの起動中にエラーが発生します:[mpm_winnt:error]2つのプログラムをダウンロードします。最初はXAMPP7.3.5です。このプログラムをインストールすると、起動後は何も起こりません。このようなエラーが発生します:

[Sat May 11 10:50:47.974475 2019] [ssl:warn] [pid 8012:tid 528] AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name
[Sat May 11 10:50:48.097489 2019] [ssl:warn] [pid 8012:tid 528] AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name
[Sat May 11 10:50:48.150507 2019] [mpm_winnt:notice] [pid 8012:tid 528] AH00455: Apache/2.4.39 (Win64) OpenSSL/1.1.1b PHP/7.3.5 configured -- resuming normal operations
[Sat May 11 10:50:48.150507 2019] [mpm_winnt:notice] [pid 8012:tid 528] AH00456: Apache Lounge VC15 Server built: Mar 28 2019 11:59:33
[Sat May 11 10:50:48.150507 2019] [core:notice] [pid 8012:tid 528] AH00094: Command line: 'C:\\xampp\\Apache\\bin\\httpd.exe -d C:/xampp/Apache'
[Sat May 11 10:50:48.156507 2019] [mpm_winnt:notice] [pid 8012:tid 528] AH00418: Parent: Created child process 3212
[Sat May 11 10:50:49.104673 2019] [ssl:warn] [pid 3212:tid 132] AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name
[Sat May 11 10:50:49.176682 2019] [ssl:warn] [pid 3212:tid 132] AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name
[Sat May 11 10:50:49.218705 2019] [mpm_winnt:notice] [pid 3212:tid 132] AH00354: Child: Starting 150 worker threads.

したがって、Apacheは機能しません(Attempting to start Apache service... "そして何も")。その後、最後のWampServer(wampserver 3.1.7)をインストールしてみます。 mysqldの次のウィンドウが表示されます。missing msvcp120.dllその後、Wampの3つのサービスを実行しようとしましたが、2つだけが開始され、Apache localhostが機能しますが、何が開始されていないのかわかりません。そこで、msvcp120をインストールしようとしましたが、何も起こりません。

1
Vytas

インストール

アパッチ

Apache Lounge からApacheのコピーをダウンロードします。現在の64ビット版( httpd-2.4.41-win64-VC15.Zip )をダウンロードすることをお勧めします。 _.Zip_ファイルがダウンロードされたら、内容を抽出します。 _Apache24_フォルダーを永続的に配置する場所に移動します。 _Apache24_は、原則として、notを次の場所に配置する必要があることに注意してください。

  • 「ProgramFiles」フォルダ。
  • 任意の「ユーザー」フォルダ。
  • AppDataの下のどこでも。

Apache shouldスペースのないパスに存在します(例:デフォルトでは_C:\Apache24_)。適切な Visual Studio 2015-2019 C++再頒布可能パッケージ もインストールする必要があります。

[〜#〜] php [〜#〜]

Apacheを入手したら、 [〜#〜] php [〜#〜] をダウンロードします。 PHP.netサイドバーに示されているように、Apacheを使用する場合は、「スレッドセーフ」バージョンのPHPを使用する必要があります。 PHP 64ビットの最新のスレッドセーフバージョンは php-7.4.3-Win32-vc15-x64.Zip です。 Apacheと同様に、_.Zip_ファイルを抽出し、その内容を永続的に存在させたい場所に配置します(例:_C:\PHP7_)。 Apache(上記)の場合と同じシステム制御フォルダーは避けたいと思うでしょう。

MySQL

最後に、ダウンロード MySQL Community Edition 。最適なバージョンを使用できますが、互換性を最大限に高めるために、古いMySQL5.xブランチを検討することをお勧めします。推奨事項として、最後の5.5ブランチ64ビットインストーラー( mysql-5.5.62-winx64.msi )をお勧めします。カスタムインストールタイプを選択し、MySQLを「ProgramFiles」以外のフォルダに配置することもできますが、これはApacheやPHPよりも重要ではありません。

MySQLには「MySQLServerインスタンス構成ウィザード」が付属していることに注意してください。これは、MySQLのインストール後に自動的に実行できます。ただし、インストールの完了後にこのオプションのチェックを外して、MySQL binフォルダー内の_MySQLInstanceConfig.exe_でいつでも同じウィザードを実行できます。


構成

アパッチ

Apacheを_C:\Apache24_(上記)にインストールしたとすると、Apacheを実行するためにさらに調整する必要はありません。 _C:\Apache24\bin\httpd.exe_でApacheを起動し、localhostまたは_127.0.0.1_に移動して、It Works!ブラウザに返されるメッセージとして。 Webドキュメント(_.html_ファイル、_.php_スクリプトなど)のデフォルトフォルダーは、たとえばです。 _C:\Apache24\htdocs_。

[〜#〜] php [〜#〜]

_php.ini-development_ または _php.ini-production_のいずれかをコピーし、複製されたファイルの名前を_php.ini_に変更します(これらはすべて、通常、PHPインストールのルートにあります。フォルダ例:_C:\PHP7_)。構成のベースとなるファイル(_php.ini-development_と_php.ini-production_)の選択はあなた次第です。示されているように、_php.ini-development_は開発者向けの構成であり、_php.ini-production_は本番用(つまり、インターネットに公開されているサーバーでの使用)向けのもう少し安全な構成です。

スクリプトがPHPのデフォルトの一部ではない特定の関数またはモジュールを必要としない限り、PHPは通常、追加の構成を必要としません。とはいえ、作成したら_php.ini_の必要なオプションのコメントを解除できます(行の先頭にある_#_を削除して、ファイルを保存します)。スクリプトに必要な特定のPHP構成オプションは、元のスクリプトのソース(つまり、Webサイト)で見つかる可能性があります。

MySQL

MySQLインストールディレクトリのbinディレクトリの下で_MySQLInstanceConfig.exe_を実行します(例:_C:\MySQL Server 5.5\bin\MySQLInstanceConfig.exe_)。 _Detailed Configuration_を選択します。次のオプションは、基本的な設定として機能するはずです。

  • 開発者マシン(最小メモリ使用量)。
  • 多機能データベース(InnoDBおよびMyISAMストレージエンジン)。
  • InnoDBデータファイルのデフォルトの配置(_installation path_)。
  • オンライントランザクション処理(OLTP)。最大500接続。このオプションの選択は非常に重要である可能性があることに注意してください。別のオプション/接続数を使用すると、MySQLサービスが開始されない場合があります。
  • デフォルトのネットワークオプション(ポート3306でTCP/IP接続を有効にします。必ず、[このポートのファイアウォール例外を追加する]、[厳密モードを有効にする]をオンにしてください)。
  • 標準文字セット(Latin1)。 「西ヨーロッパ」言語を使用していない場合は、「多言語主義のベストサポート」(UTF8)を選択することをお勧めします。
  • Windowsサービスとしてインストールします。 「MySQLサーバーを自動的に起動する」オプションをチェックします。
  • Windowsパスにビンディレクトリを含める(オプション)。これにより、コマンドラインからMySQL binフォルダー内のプログラムを実行できるようになります(スクリプトでプログラムが必要な場合は、_mysqld -V_でMySQLのバージョンを確認し、MySQLを簡単に管理できます。サービスなど)。
  • セキュリティ設定を変更します(MySQLにアクセスするための新しいrootパスワードを入力して、たとえばユーザー名rootとパスワード_password_you_chose_でログインできるようにします)。セキュリティのために、「匿名アカウントの作成」は、「リモートマシンからのルートアクセスを有効にする」と同様に、ほとんどの場合、オフのままにしておくことができます(本当に必要な場合を除く)。

適切なオプションをすべて選択したら、[実行]ボタンを押して変更を適用します。指定された基本オプションは、ルートMySQLディレクトリの_my.ini_に記録されます。これで、MySQLはサービスとしてバックグラウンドで実行されているはずです(Apache/PHPとは無関係)。


ApacheとPHP

ApacheでPHP処理を有効にするには、以下に示すように_httpd.conf_ファイル(例:_C:\Apache24\conf\httpd.conf_)を編集する必要があります。 _httpd.conf_の最後に次の行を配置します。

_# ----- PHP Configuration -----

# LoadModule php7_module "c:/PHP7/php7Apache2_4.dll"

LoadModule php7_module "c:/PHP7/php7Apache2_4.dll"
AddHandler application/x-httpd-php .php

# Configure the path to php.ini
# PHPIniDir "c:/PHP7"

PHPIniDir "c:/PHP7"
_

_c:/PHP7_は、PHPをインストールしたディレクトリと一致し、_php.ini_はすでに存在している必要があります(上記のPHP構成を参照)。変更を保存して、Apacheサーバーを再起動することを忘れないでください。

次の行で_.php_ファイルを作成することにより、PHPがApacheで機能していることを確認できます。

_<?php phpinfo()?>
_

これを例として保存します。 _version.php_そしてそれをルートWebディレクトリに配置します(例:_C:\Apache24\htdocs_)。その後、exに移動できるはずです。 _http://localhost/version.php_をクリックして、PHPインストールに関する大量の情報を確認してください。


Apache Notes

  • _httpd.exe_を直接実行してApacheを手動で(つまり、サービスとしてではなく)起動すると、通常、エラーは発生しません。ただし、ApacheがサーバーのFQDNを解決できないという警告を回避するために、_httpd.conf_のServerNameエントリのコメントを解除することをお勧めします(例:_C:\Apache24\conf\httpd.conf_)。デフォルトの_www.example.com:80_は正常に機能します。

  • すでに示したように、_httpd.conf_または_php.ini_を更新した後は、変更を有効にするために、常にApacheを再起動する必要があります。

  • Apacheが起動しない、またはエラーを生成しない場合は、ログを調べて原因を特定する必要があります(例:_C:\Apache24\logs\error.log_)。

  • _httpd.exe_または_httpd.exe -k start_(Apacheがサービスとしてインストールされている場合)を使用してApacheを手動で起動すると、特定の構成の問題が明らかになり、関連するファイル/行でApacheの解析に問題が発生する場合があります。

  • _C:\Apache24_以外のインストールディレクトリまたは_C:\Apache24\htdocs_以外のWebドキュメントルートを使用するには、_httpd.conf_を編集する必要があります。 Webサーバーを正しく設定するために、このファイルに他の変更を加える必要がある場合もあります。

  • SSL接続(HTTPS)を有効にするには、SSL証明書を取得し、_httpd-ssl.conf_を編集する必要があります。

  • Apacheは、スクリプトの実行を許可するフォルダーに関して、適度にセキュリティを意識しています。 PHPスクリプトが失敗している場合は、実行するための適切な権限がない可能性があります。


サービスノート

  • サービスはサービス(スタートメニュー→実行/検索→「サービス」)を介して管理できます Enter)。

  • Windowsサービスを操作するには、管理者特権が必要です。これには、管理者特権のコマンドプロンプト([スタート]メニュー→[実行/検索]→[cmd])が含まれます。 ControlShiftEnter)。

  • _httpd.exe_を使用してApacheをサービスとしてインストールできます。昇格したコマンドプロンプト(上記)から、たとえばに移動します。 _C:\Apache24\bin_そして実行:

    _httpd -k install -n "Apache2.4"
    _
  • Windowsでは、「Apache2.4」をデフォルトのApacheサービス名にする必要があります。他のサービス名を使用すると、問題が発生する可能性があります。

  • 以前にApacheまたはMySQLをサービスとしてインストールしようとしたことがある場合は、それらがWindowsに登録されていないことを確認する必要がある場合があります。まず、サービスが停止していることを確認します(ここでも、[スタート]メニュー→[実行/検索]→[サービス]から[サービス]で確認できます) Enter)。サービスが実行されていないと仮定して、昇格されたコマンドプロンプト(上記)を開き、次に実行します。 _sc delete Apache2.4_または_sc delete MySQL_。

  • あるいは、ApacheとMySQLにはexがあります。 _httpd -k uninstall -n "Apache2.4"_(例:_C:\Apache24\bin\httpd.exe_)および例_mysqld --remove_(例:_C:\MySQL Server 5.5\bin\mysqld.exe_)は、それぞれのサービスを削除します。


警告

  • MySQLの構成セクションですでに説明したように、同時接続数(最大500)にオンライントランザクション処理(OLTP)以外のものを選択すると、MySQLサービスが開始されない場合があります。症状には、MySQLサーバーインスタンス構成Wizard MySQLサービスを開始しようとしたときに「ハング」したり(「実行」を押した後)、Windowsでサービスを手動で開始できない(_System error 1607 has occurred_)などがあります。

3
Anaksunaman