質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.64%

【PHP】php.iniで設定したerror_logの設定が有効にならない

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 7,398

hasshy

score 95

php.iniに書いたerror_logの設定について伺いたいです。
php.iniの設定で、エラーログの出力設定をしているのですが、ログの出力先の設定ができません。
apacheの再起動もしているのですが、設定が変更できません

何か初歩的に事でつまづいているのかもしれませんが、原因は何があり得ますでしょうか?

 現状の設定

 サーバー構成

名目 バージョン
OS amazon linux 2
webサーバー apache 2.4.34
PHP 7.2.11

 php.ini

php.iniには下記のように記載しています。
エラーログに必要だと思われる設定のみ抜粋しています。

/etc/php.ini

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Error handling and logging ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
error_reporting = E_ALL & ~E_NOTICE
display_errors = Off
log_errors = On
error_log = /var/log/php/php_errors.log

 エラーを発生させるためのコード

<?php
    hogehogehogehoge()
?>

 phpinfoの表示

error logの設定はlocalvalue,mastervalue共に、下記の設定になっています。
php.iniの設定が反映されていません。

/var/log/php-fpm/www-error.log

 ファイルの構成周り

必要なファイルと設定はしています。
apacheの実行ユーザーはapacheです

$ pwd
/var/log/php

$ ls -al
total 4
drwxr-xr-x  2 apache root     28 Nov 14 16:24 .
drwxr-xr-x 12 root   root   4096 Nov 15 03:38 ..

-rw-------  1 apache apache    0 Nov 14 16:24 php_errors.log
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

checkベストアンサー

+1

正しい php.ini を書き換えて、apache を再起動しても Master Value が変わっていないということなので php.ini が読み込まれていないのは間違いなさそうです。

正しい php.ini を書き換えているのであれば、apache の再起動に失敗しているぐらいしか思いつかないですが、apache の再起動時のログで、再起動は問題なく行われているのでしょうか?
何かエラーが出て、再起動が失敗しているとか無いでしょうか?


(追記)

phpinfo に何かヒントがないかとみて、ふと思ったのですが...

phpinfo に追加設定ファイルの項目として、Scan this dir for additional .ini files や Additional .ini files parsed の項目がありますが、これらの場所で読み込まれている ini ファイルの中で、

error_log = ***

とログファイルの位置を指定しているファイルが、あったりしないでしょうか?


(追記2)

質問を読み直して気がついたのですが...

/var/log/php-fpm/www-error.log

って、php-fpm 使用時のデフォルトのログファイルですね。
php-fpm を使われていますか?
php-fpm の設定で上書きしていたりないでしょうか。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/11/15 18:35

    詳細にご確認いただきありがとうございます!
    既存で設定しているetc/php.ini以外のiniファイルですね。
    確認してみます。
    あと、php-fpm側の設定ファイルは確認してみます。
    ありがとうございます。

    キャンセル

  • 2018/11/15 19:10

    既存のphp.ini以外のiniファイルでerror_logを変えている記述は確認できませんでした。
    php-fpm.confの記述を見ると該当の記述がありました。
    ただ、これを変えてphp-fpmを再起動してもログの場所は変更できませんでした。

    php.iniでフロントにエラー出力をしない設定をして、php-fpmでエラーログの出力を設定するというのがわかっただけでもかなり進捗がありました。
    ありがとうございます。

    キャンセル

  • 2018/11/15 19:15

    あら、どれもハズレでしたか... 


    Amazon Linux だと SELinux は、無効だったと思うので、影響はないだろうし、ほかにはピンとくる内容はないですね。

    キャンセル

  • 2018/11/15 19:37

    お忙しい中、ご指導ありがとうございました。

    キャンセル

+1

<?php
  phpinfo();

これだけ書いたファイルをブラウザで参照させると、PHPの細かな設定が出てきます。「Loaded Configuration File」として使われているphp.iniの場所も出てきますので、ちゃんと/etc/php.iniが参照されているかの確認もできます。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/11/15 17:27

    ご回答いただきありがとうございます!
    ご指摘ありがとうございます。
    phpinfoを確認したところ、Loaded Configuration Fileの設定は、「/etc/php.ini」担っていましたので、追記したファイルでした。
    ご共有までに、php.ini特にlog_errorsを上書き(重複して設定)はしていないです。

    独自のphp.iniを設定している訳ではありませんので、そこでしてしたという事も考えづらく…

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.64%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る