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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

4075閲覧

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

hasshy

総合スコア102

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2018/11/15 07:58

編集2018/11/15 08:30

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

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

現状の設定

サーバー構成

名目バージョン
OSamazon linux 2
webサーバーapache 2.4.34
PHP7.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

1<?php 2 hogehogehogehoge() 3?>

phpinfoの表示

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

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

ファイルの構成周り

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

sh

1$ pwd 2/var/log/php 3 4$ ls -al 5total 4 6drwxr-xr-x 2 apache root 28 Nov 14 16:24 . 7drwxr-xr-x 12 root root 4096 Nov 15 03:38 .. 8 9-rw------- 1 apache apache 0 Nov 14 16:24 php_errors.log

気になる質問をクリップする

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

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

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


(追記)

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

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

error_log = ***

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


(追記2)

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

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

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

投稿2018/11/15 09:07

編集2018/11/15 09:33
CHERRY

総合スコア25171

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hasshy

2018/11/15 09:35

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

2018/11/15 10:10

既存のphp.ini以外のiniファイルでerror_logを変えている記述は確認できませんでした。 php-fpm.confの記述を見ると該当の記述がありました。 ただ、これを変えてphp-fpmを再起動してもログの場所は変更できませんでした。 php.iniでフロントにエラー出力をしない設定をして、php-fpmでエラーログの出力を設定するというのがわかっただけでもかなり進捗がありました。 ありがとうございます。
CHERRY

2018/11/15 10:15

あら、どれもハズレでしたか...  Amazon Linux だと SELinux は、無効だったと思うので、影響はないだろうし、ほかにはピンとくる内容はないですね。
hasshy

2018/11/15 10:37

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

0

php

1<?php 2 phpinfo();

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

投稿2018/11/15 08:21

maisumakun

総合スコア145183

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hasshy

2018/11/15 08:27

ご回答いただきありがとうございます! ご指摘ありがとうございます。 phpinfoを確認したところ、Loaded Configuration Fileの設定は、「/etc/php.ini」担っていましたので、追記したファイルでした。 ご共有までに、php.ini特にlog_errorsを上書き(重複して設定)はしていないです。 独自のphp.iniを設定している訳ではありませんので、そこでしてしたという事も考えづらく…
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問