CentOS7

CentOS7でPHPのデバグを設定する。

 CATEGORY LINUX, PHP

CentOSでリアルタイムでログを確認できるコマンド「tail -f」を実行し、PHPデバグする方法です。

ログ用ディレクトリを作ります。

/var/log/phpディレクトリを作成し、phpディレクトリにphp.logを配置します。
まず、ディレクトリを作成します。

mkdir /var/log/php
mkdir /var/log/php
mkdir /var/log/php

ディレクトリの所有者をapachに変更します。(apache httpdサーバーを使用している場合)

chown apache:apache php
chown apache:apache php
chown apache:apache php

あらかじめログファイルを作成します。[ vi ]もしくは[ touch ]コマンドで作成。

vi /var/log/php/php.log
vi /var/log/php/php.log
vi /var/log/php/php.log

php.iniを設定します。

display_errors On
log_errors = On
error_log = /var/log/php/php.log
display_errors On log_errors = On error_log = /var/log/php/php.log
display_errors On
log_errors = On
error_log = /var/log/php/php.log

apacheを再起動して設定反映

systemctl restart apache
systemctl restart apache
systemctl restart apache

コーディング中のPHPにデバグ用の関数を作成

<?php
// 変数
$debuglog = "";
// デバッグ実行
debug($debuglog);
// デバッグ関数
function debug($str){
error_log("デバッグ:".$str);
}
?>
<?php // 変数 $debuglog = ""; // デバッグ実行 debug($debuglog); // デバッグ関数 function debug($str){ error_log("デバッグ:".$str); } ?>
<?php

// 変数
$debuglog = "";

// デバッグ実行
debug($debuglog);

// デバッグ関数
function debug($str){
  error_log("デバッグ:".$str);
}

?>

ターミナルでログを確認します。

tail -f /var/log/php/php.log
tail -f /var/log/php/php.log
tail -f /var/log/php/php.log

以上で完了です。ディレクトリを任意に変更すればターミナル以外からも確認可能です。