環境
- Rocky Linux8(RHEL8系)
- Apache2.4
- PHP7.4(php-fpm)
事象
phpで作成したページにWebブラウザでアクセスると
HTTPステータス500番を出力してしまう。
原因
phpのソースコードをデバッグしてみると、
apache_note()関数を実行しているところで躓いていた。
この
apache_note()
関数は PHP-FPM では使用できません。
Docker php56-fpm - Call to undefined function apache_note()I am using docker to run PHP but my project is undefined the function apache_noteFatal Error Error: Call to undefined function apache_note()I think my PHP is mi...
ってことらしい。
このソースは以前にmodule版のphpで動いていたものをphp-fpm版のサーバに移植している最中なのです。
対処
MoodleのユーザIDをApacheログに出力してみる2
以前、MoodleのユーザIDをApacheログに出力したい記事を書い時、apache_noteの関数でいけた…
対処方法としては、
apache_note()関数を、
header()関数に差し替える。
ApacheアクセスログにPHPから任意の値を出力 - Qiita
2通りご紹介。例として、"mykey"というキーの値を設定したいとする。#①apache_noteを使う##httpd.conf例えば以下のようになっていたらLogFormat "%h %…
apacheの設定も修正する必要がある。
%{キー}n
を
%{キー}o
に変える。
Qiitaの記事の例で行くと、
mykey っていうのが独自のキーだとすると、
LogFormat "%h %l %u %t \"%r\" %>s %b %{mykey}n" combined
↓
LogFormat "%h %l %u %t \"%r\" %>s %b %{mykey}o" combined
に変える。
コメント