httpd.confで行うPHPの設定について


最近行った設定をメモしておきます。

PHPのバージョンが、php -vとphpinfo(ブラウザ表示)でそれぞれ違う

phpinfo(ブラウザ表示)はApacheのPHPモジュールを参照しています。

httpd.confで読み込んでいるPHPのモジュールが古かったので、現在のPHPバージョンに合わせたモジュールをセットしました。(Homebrewを使用しています。)

httpd.conf
# 旧PHPモジュール
# LoadModule php7_module /usr/libexec/apache2/libphp7.so

# 新PHPモジュール
LoadModule php7_module /usr/local/Cellar/[email protected]/7.2.17_1/lib/httpd/modules/libphp7.so

HTML内でPHPを使いたい

動作が1ファイルで完結するので、学習などで軽く使いたい時に便利です。

httpd.conf
# html内でphpを使用する
<IfModule mime_module>
  AddType application/x-httpd-php .html
</IfModule>

このような感じで利用します。(うまく表示されていませんが、動きます・・・)

test.html
<?php $fruits = array('apple', 'orange', 'peach') ?>
<?php foreach ($fruits as $key => $val) : ?>
<?php echo $val; ?>
<?php endforeach; ?>

ブラウザで確認する時は、Apacheを起動してからサーバへアクセスして確認します。
誤ってfile:///で確認しないように・・・(この場合、PHP部分は自動的にコメントアウトされます。)

httpd.confを編集した後は、Apacheの再起動を忘れずに行ってください〜

参考記事

phpinfoとphp -vのバージョンが違う
htmlファイルでphpを動かす 〜httpd.confの設定〜
PHPのforeachで配列処理(HTML埋め込みでもスッキリな書き方も)