Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

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

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/php@7.2/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埋め込みでもスッキリな書き方も)

yukibe
2018年8月よりWebエンジニア。主にPHP。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away