php apache_note() 関数でHTTPステータス500番エラー

php
スポンサーリンク

環境

  • 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

 

に変える。

コメント