web-dev-qa-db-ja.com

エラーログファイルはどこにありますか?

エラーログファイルはどこにありますか? suPHPのインストール後に表示される内部サーバーエラーを解決するには、それらを確認する必要があります。

26
user1010966

「lsof」を使用して、システムで開いているログファイルを見つけることができます。 lsofは、開いているすべてのファイルのリストを提供します。

"log"にgrepを使用します... "php"にgrepを再度使用します(ファイル名に "php_error_log"のような文字列 "log"および "php"が含まれており、rootユーザーである場合は、構成を知っている)。

        root@lnx-work:~# lsof |grep log
        ... snip
        gmain     12148 12274       user   13r      REG              252,1    32768     661814 /home/user/.local/share/gvfs-metadata/home-11ab0393.log
        gmain     12148 12274       user   21r      REG              252,1    32768     662622 /home/user/.local/share/gvfs-metadata/root-56222fe2.log
        gvfs-udis 12246             user  mem       REG              252,1    55384     790567 /lib/x86_64-linux-gnu/libsystemd-login.so.0.7.1
==> Apache 12333             user  mem       REG              252,1    55384     790367 /var/log/http/php_error_log**
        ... snip 
        root@lnx-work:~# lsof |grep log |grep php 
        **Apache 12333             user  mem       REG              252,1    55384     790367 /var/log/http/php_error_log**
        ... snip 

開いているログファイルの検索に関するこの記事も参照してください。 Linuxシステムで開いているログファイルを検索する

25
omoser

私のために働く。すべてのPHPエラーをログファイルに記録するにはどうすればよいですか?

次の行を/etc/php.iniに追加して、指定されたファイルにエラーを記録します– /var/log/php-scripts.log

vi /etc/php.ini

Error_logディレクティブを変更します

error_log = /var/log/php-scripts.log

Display_errorsがOffに設定されていることを確認してください(エンドユーザーにエラーはありません)

display_errors = Off

ファイルを保存して閉じます。 Webサーバーを再起動します。

/etc/init.d/httpd restart

SyslogまたはWindows Serverイベントログにエラーを記録するにはどうすればよいですか?

Error_logを次のように変更します。

error_log = syslog

ログを見る方法

Login using ssh or download a log file /var/log/php-scripts.log using sftp:
$ Sudo tail -f /var/log/php-scripts.log
13
RDK

使用しているOSとWebサーバーLinuxおよびApacheでは、/ var/log/Apache2 /にApache error_logがあります。

4
hiasl86

CPanelをインストールしたCentoSでは、私のログは次の場所にありました。

/usr/local/Apache/logs/error_log

視聴するには:tail -f /usr/local/Apache/logs/error_log

4
Bradley Flood

これは、ソフトウェアの実行をサーバープラットフォームの直接の知識から切り離すことができ、コードの移植性を維持できるため、ほとんどのユースケースで望ましい回答です。多くのcron/cgiを実行している場合、これは直接助けにはならないかもしれませんが、その場合にログの場所の一貫性を保つために、cron/cgiスクリプトがプルするWebランタイムの設定に設定できます。


次を使用して、実行時に任意のプラットフォームのphpにネイティブに割り当てられた現在のログファイルを取得できます。

ini_get('error_log');

これは、WebサーバーによってPHPバイナリに直接配布された値を返します。これは、ユースケースの90%で必要なものです(明白な例外はcgiです)。 Cgiは多くの場合、http Webサーバークライアントと同じ場所にログを記録しますが、常にではありません。

また、エラーを回避するために何かをコミットする前に、書き込み可能であることを確認する必要があります。その場所を定義するconfファイル(通常、Apache.confをグローバルに、またはドメインごとにvhosts.confのいずれか)が、confはファイル許可が実行時に書き込みアクセスを許可することを保証しません。

1
mopsyd

Cent OS 6.6 with Apacheを使用していますが、エラーログファイルは

/ usr/local/Apache/log

1
AnukuL

これは反抗的にあなたを助けるでしょう、

https://davidwinter.me/enable-php-error-logging/

[〜#〜] or [〜#〜]

Php.ini:(vim /etc/php.iniまたはSudo vim /usr/local/etc/php/7.1/php.ini)

display_errors =オフ

log_errors =オン

error_log = /var/log/php-errors.log

ログファイルを作成し、www-dataで書き込み可能:

須藤タッチ/var/log/php-errors.log

/var/log/php-errors.log

須藤ちゃん:www

おかげで、

0
Pratik Mehta