🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

10664閲覧

PHP8 Apache2.4 Windows10 で PHPが動作しません。

mukufusa

総合スコア12

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2021/02/17 19:20

表題の通り、PHP8 Apache2.4 Windows10 で PHPが動作しません。

いろんなサイトを見ると、ダウンロードして簡単な設定のみで動作するはずなのですが・・・

かなり検索しましたが、自力での解決は難しいと判断し投稿させて頂きます。

どうぞよろしくお願いします。

やったことは以下になります。


###Apacheのインストール
https://www.apachelounge.com/download/ から「Apache 2.4.46 Win64」をダウンロード
Cドライブ直下に「apache」という名前で配置
Apache実行フォルダパスを環境変数Pathに追加「C:\apache\bin
Apacheのバージョン確認コマンド「httpd -v」で実行結果が得られて設定成功

httpd.conf
Define SRVROOT "c:/Apache24" を
Define SRVROOT "c:\apache" に変更
#ServerName www.example.com:80 を
ServerName localhost:80 に変更

###Apacheの起動
C:\apache\bin\httpd.exe」をダブルクリック
Apacheを初めて起動した時は「Windows セキュリティの重要な警告」のウィンドウが表示され
今回はローカル環境向けなので「プライベートネットワーク」のみにチェックをつけ「アクセスを許可する」ボタンをクリック。
http://localhost/ にアクセスし、「It works!」と表示され、Apacheの正常な起動を確認。
停止するときは黒い画面の右上の×ボタンをクリック
バージョンの確認は「cd C:\apache\bin」→「httpd -v」→ Apache/2.4.46 (Win64) と表示されました。


###PHPのインストール
PHPをダウンロードし展開、C直下に移動、フォルダ名をシンプルに php に変更
環境設定を編集してパスを通す「C:\php

###PHPの動作確認
コマンドプロンプトで「php -v」→ PHP 8.0.2 と表示される。
php -r phpinfo(); | more」→ こちらも正常に表示されまました。


###httpd.confの設定

C:\apache\conf\httpd.conf の最下部に以下を追加

PHPIniDir "C:/php/" LoadModule php_module "C:/php/php8apache2_4.dll" AddHandler application/x-httpd-php .php

しかし、C:/php/を見ても「php8apache2_4.dll」というファイルはありません。
「C:\apache\bin\httpd.exe」をダブルクリックでApacheを起動しても、黒い画面が一瞬立ち上がってすぐ消えてしまいます。
(追加した3行を削除してApacheを再起動すると、黒い画面は消えることなくそのまま表示されています。)

http.confに3行を追加した状態で http://localhost/index.php にアクセスしても、当然「このサイトにアクセスできません」と表示されます。
なお、index.php の中身は「print "hello";」です。元の index.html は index2.html にファイル名を変更してあります。

今まで xampp に頼って来ましたが動かなくなり、新しく入れようとすると MySQL が MariaDB に変更になってしまったと知り敬遠。
はじめて自力で環境構築しています。
未熟で申し訳ございませんが、何卒よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

PHPをダウンロードし展開、C直下に移動、フォルダ名をシンプルに php に変更

https://windows.php.net/download/

VS16 x64 Thread Safe (2021-Feb-03 19:23:38)
をダウンロードしてみてください。


今まで xampp に頼って来ましたが動かなくなり、新しく入れようとすると MySQL が MariaDB に変更になってしまったと知り敬遠。

XAMPPを使うケースであればMariaDBでもMySQLでも互換性で困ることは少ないので、素直にXAMPPで良いと思いますよ。

投稿2021/02/17 20:23

tanat

総合スコア18727

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mukufusa

2021/02/18 08:27

ありがとうございます!ゼロから環境構築して3日、やっとPHP動きました!!(ToT) Non Thread Safe を Non Threat Safe (脅威がない 安全)と勘違いして、いつも Non Threat ばかりダウンロードしてました(ToT) Thread Safe には「php8apache2_4.dll」が入ってました! MariaDBでもMySQLでも互換性で困ることは少ないのですね。こちらも参考になりました! 本当に助かりました。ありがとうございました。
guest

0

MySQL が MariaDB に変更になってしまったと知り敬遠。

どちらかに依存する機能を使いたい要件でもない限り、どちらでも良いですし、XAMPPのメリットはphpMyAdminも入ってくれてるくらいの認識です。

MySQLが良いのでしたら、MySQLだけ自分で導入してDBはそっちだけ使う、phpMyAdmin以外のツールを使う(もしくは接続先をMySQLにする)ということもできます。

個々に入れることにこだわるなら、WSLなり仮想環境なりでLinux系OSを採用したほうが自由度が高く、個々の依存性を低く抑えられると思います。
コマンド操作に慣れるだけ。(使えたほうが良いと思います)

投稿2021/02/17 21:28

m.ts10806

総合スコア80875

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mukufusa

2021/02/18 08:33

MySQL が MariaDBはどちらでもよいのですね。他の方も同じ見解ですね。参考になります。 windowsでもLinux使えるんですね。今はLaravelを学習中のため、難しいことを同時に複数やりたくないのでできるだけ新しいことをやらないようにしてますが(だから使い慣れたphpMyAdmiを使いたい)、余裕ができたら技術を広げて行きたいです。 ありがとうございました!
m.ts10806

2021/02/18 09:15

Windowsに依存した実装をしなければ同じコードでPHPはLinuxでも動きます。WebサーバーがLinux系が多いというだけですね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問