FreeBSD 11.3 RELEASE - apache24 - PHP - 初期設定

 クラウディア
1. コンフィグレーションファイルの設定
2. httpd.conf の編集
3. 動作確認

1. コンフィグレーションファイルの設定

 インストールが終わると

/usr/local/etc
/usr/local/etc/php
 にいくつかの php 用のコンフィグレーションファイルが作成されています。  最低限

/usr/local/etc/php.ini
 への設定が必要になりますので以下の手順を実行します。

cd /usr/local/etc/
cp php.ini-production php.ini
 php.ini を編集します。

; Default Value: On
; Development Value: Off
; Production Value: Off
; http://php.net/short-open-tag
short_open_tag = Off
 php5 の記述は、<?php ... ?> というのが正式な書式ですが、php4 の形式で <? ~ ?>という書き方が許されていました。  旧来の形式のままのソースがまだ残されていて、php4 記述形式を許可するには On に変更します。

; Default Value: On
; Development Value: On
; Production Value: Off
; http://php.net/display-errors
display_errors = Off
 異常発生時にブラウザにエラーを表示するかどうかのオプションです。  デフォルトは Off になっています。  動作確認を行い際は On にすることも検討してみます。  通常運用時は Off にするべきです。

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
;date.timezone =
 タイムゾーンの設定です。  設定しておかないと後述する phpinfo で WARNING が出力されます。  日本の時刻を使用する場合

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = "Asia/Tokyo"
 と記述します。

2. httpd.conf の編集

 .php のファイルを HTML ドキュメントとして認識させるために

/usr/local/etc/apache24/httpd.conf
 を編集します。  ディレクトリのインデックスとして index.php を使うために

<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>
 の箇所を以下のように書き換えます。

<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>

<IfModule mime_module>
 と

</IfModule>
 の間に以下の2行を加えます。

    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
 以上を変更したら

service apache24 configtest
service apache24 graceful
 を忘れないように。  ちょっと謎なのですが・・・。一度、apache がおかしくなって、何を表示しても

[Thu Jul 25 02:19:31.987758 2019] [core:notice] [pid 730] AH00052: child pid 53570 exit signal Segmentation fault (11)
[Thu Jul 25 02:19:31.988291 2019] [core:notice] [pid 730] AH00052: child pid 53568 exit signal Segmentation fault (11)
[Thu Jul 25 02:19:31.989011 2019] [core:notice] [pid 730] AH00052: child pid 53567 exit signal Segmentation fault (11)
[Thu Jul 25 02:19:34.098444 2019] [core:notice] [pid 730] AH00052: child pid 53581 exit signal Segmentation fault (11)
[Thu Jul 25 02:19:34.099960 2019] [core:notice] [pid 730] AH00052: child pid 53571 exit signal Segmentation fault (11)
 てな、エラーメッセージでこけたりしていたのですが。  システムを再起動すると、次項のように正常に表示されるようになりました。  もしかすると、php インストール後の再起動は

service apache24 graceful
 でなく

service apache24 restart
 が正しいのかもしれません・・・。

3. 動作確認

 実際に php が動作しているかを確認します。  WEB サーバのドキュメントルートに phpinfo.php (拡張子さえ php であればファイル名はなんでもかまいません)を作成して

<?php
phpinfo();
?>
 と記述します。  ブラウザで http://ドメイン/phpinfo.php を表示しておおむね以下のように
「FreeBSD 11.3 RELEASE」-「phpinfo()」

 php のバージョン情報や設定状態が表示されれば、設定は完了です。

SirusiTokyo Speed Wi-Fi
 
 
カウンタバックグラウンド