1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Apache2.4】Win10環境でPHPと連携してみた(PHPモジュール)

Posted at

この記事では、Apache2.4とPHPを連携して、
PHPファイルをApacheが扱えるようにする方法を紹介します。
この記事では、PHPに同梱のPHPモジュールを使用します。

(Windows11環境がないので、Windows10の環境です)

この記事はPHPファイルをApache2.4で使いたかったので、同時にQiita記事を書いたものです。
一部間違いがある可能性があるので、心配な場合は別の記事も見てみることをお勧めします。

注意点

この記事では、Apache2.4とPHPがインストール済みなことを前提としています。
Apacheのインストール方法は以下の記事で紹介しています。

この記事ではPHPがC:\phpにあり、ApacheがC:\Apache24にあることを前提として進めます。

連携

PHP.iniを作成(既にできている人は飛ばしてください)

まず、PHP.iniが必要です。
同梱されているphp.ini-developmentphp.ini-productionphp.iniという名前にします。
変更するのが怖い場合は、複製して、複製したものをphp.iniにするのでもOKです。
php.ini-developmentは開発向けで、php.ini-productionは本番環境向けです。
僕は趣味でプログラミングをするために使うので、php.ini-developmentを名称変更しました。

Apache側の設定ファイルを変更

設定ファイルを変更します。C:\Apache24\conf\httpd.confを開きましょう。
Dynamic Shared Object (DSO) Supportと書いてある行を探してください。
その行の近くにLoadModule モジュール名 パスというような感じに書いてあるはずです。

LoadModuleとは

LoadModule モジュール名 パスという感じの書き方で、
モジュール(拡張機能のようなもの)を読み込んでいます。
#でコメントアウトしているものもあります。
コメントアウトされたLoadModuleは機能しません。
使いたいときに#を消せば有効化できます。

PHPのLoadModuleが見つからない

LoadModuleが書いてあるのは、Apacheに同梱しているモジュールのみです。
PHPのモジュールはApacheに同梱されていないので、自分で書く必要があります。

書いてみよう

php7の場合は、以下のコードをhttpd.confの末尾に追加します。

httpd.conf(一部)
LoadModule php7_module "c:/php/php7apache2_4.dll"
AddHandler application/x-httpd-php .php

PHPIniDir "C:/php"

php8の場合は、以下のコードをhttpd.confの末尾に追加します。

httpd.conf(一部)
LoadModule php_module "c:/php/php8apache2_4.dll"
AddHandler application/x-httpd-php .php

PHPIniDir "C:/php"

さらに、htmlファイルではなくphpファイルを読み込むように変更します。

httpd.conf (一部の変更)
<IfModule dir_module>
-    DirectoryIndex index.html
+    DirectoryIndex index.php
</IfModule>

PHP側の設定ファイルを変更

このまま起動するとエラーが出るので、
PHP.iniファイルを開き、以下の変更をしてください。

php.ini (一部の変更)
; Directory in which the loadable extensions (modules) reside.
; https://php.net/extension-dir
;extension_dir = "./"
; On windows:
- ;extension_dir = "ext"
+ extension_dir = "ext"

起動確認

index.phpをC:\Apache24\htdocsに作成し、起動してみましょう。

終了コマンド(管理者権限で実行)
httpd -k stop

念のため終了してから...

起動コマンド(管理者権限で実行)
httpd -k start

起動して...

この状態で http://localhost/ にアクセスすると...
image.png
出ました!!!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?