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

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

詳細はこちら
Apache

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

PHP

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

Q&A

解決済

3回答

9592閲覧

ApacheにPHPの追加がうまくいかない

Natsuki902

総合スコア13

Apache

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

PHP

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

0グッド

1クリップ

投稿2021/03/21 02:18

編集2021/03/21 11:08

使用しているApacheにPHPを追加しようとしておりますが、
追加後にApacheを起動しようとすると、いかのエラーが発生するようになります。

c:\Apache24\bin>httpd

httpd: Syntax error on line 186 of C:/Apache24/conf/httpd.conf: Can't locate API module structure `php8module' in file C:/php/php8apache2_4.dll: No error

※コマンドプロンプトは管理者権限で起動しています。

インストールに際しては、以下のページを参考にしました。

https://qiita.com/narito/items/d4b6165376f141dce939

下記状況で、どのような原因が考えられますでしょうか。
PHP単独での動作確認ができているため、Apacheと連携させた上でApacheを起動させ、Apache上でPHPが動作すればゴールとなります。

#関連するモジュールのダウンロード元
#####◆Apache

https://www.apachelounge.com/download/

  httpd-2.4.46-win64-VS16.zip

#####◆PHP

https://windows.php.net/download#php-8.0

  php-8.0.3-Win32-vs16-x64.zip

なお、PCのOSはWindows10 20H2 64bitです。
ダウンロード後、Apacheはzipの中から「Apache24」をC直下に配置、
PHPはzip解凍後、C:\に「php」フォルダとして配置しました。

#◆設定ファイルで変更した箇所

#####c:\Apache24\conf\httpd.conf

L.186に以下を追加

LoadModule php8module "C:/php/php8apache2_4.dll"

末尾に以下を追加

<FilesMatch ".php$"> AddHandler php8-script .php AddType application/x-httpd-php .php </FilesMatch> PHPIniDir "C:/php"

#####c:\php\php.ini
→上記qiitaのページの記載の内容で修正し、コマンドプロンプトからPHPへのパスが通っていることを確認。

【3/21 20:10更新】
お二方のご助言の甲斐ありまして、無事PHPの導入に成功しました。
誠にありがとうございました。

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

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

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

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

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

guest

回答3

0

LoadModule php_module "C:/php/php8apache2_4.dll"

php8module → php_module

だと変わりますか?

投稿2021/03/21 07:42

FromMZ1500

総合スコア496

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

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

0

ベストアンサー

LoadModule php8module "C:/php/php8apache2_4.dll"

その php8module というモジュール名称はどこを参照して決められたのでしょうか。
PHP7時代だとここは php7_module だったはずで、PHP8だと php8_module になったかと思いきや php_module に変わったという情報が次のページにあります。
https://qiita.com/rana_kualu/items/97db65f8741280331202

そのモジュール名称が問題に見えますので、php_moduleに変えてみてはいかがでしょう。

投稿2021/03/21 07:39

angel_p_57

総合スコア1681

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

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

Natsuki902

2021/03/21 08:05

ご回答ありがとうございます。 現在所用で出先のため、取り急ぎスマホからリモートでそこを修正してリトライしてみました。 無事起動した模様です。 ただ、http://localhost/index2.phpとするとファイルダウンロード扱いになってしまうので、帰宅後に他の設定も見直してみます。 モジュール名は盲点でした、というより、たどり着けていませんでした。 まだまだ勉強といいますか、視野が足りませんね。精進いたします。(頂いたリンク先も、帰宅後に拝読いたします!)
guest

0

ご回答ありがとうございます。
現在所用で出先のため、取り急ぎスマホからリモートでそこを修正してリトライしてみました。
無事起動した模様です。

ただ、http://localhost/index2.phpとするとファイルダウンロード扱いになってしまうので、帰宅後に他の設定も見直してみます。

モジュール名は盲点でした、というより、たどり着けていませんでした。
まだまだ勉強といいますか、視野が足りませんね。精進いたします。(頂いたリンク先も、帰宅後に拝読いたします!)

投稿2021/03/21 08:04

編集2021/03/21 08:17
Natsuki902

総合スコア13

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

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

FromMZ1500

2021/03/21 08:13

AddHandler application/x-httpd-php .php の設定かな。XAMPPに頼らないのは関心ですが、それならそれなりに調べてやらないと 他にも足りない設定いっぱいあるかも。
Natsuki902

2021/03/21 08:18

はい、おっしゃる通りです。 (書いたり消したりも、申し訳ありません。) 帰宅後、改めて色々見直してみます。
xken9

2023/07/18 15:15

私も同様のエラーに合い、このサイトで解決しました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問