勉強したことのメモ

webプログラマが勉強したことのメモ。

エラー管理まとめ2

   

これに続いてちょっとだけつまづいた点があったのでメモ。

■ソース
//ページTOPに記述
error_reporting(E_ALL ^ E_NOTICE);
ini_set('display_errors',0);
ini_set('log_errors','On');
ini_set( "error_log", "./logs/error.log" );

//SQLmysql_queryの直後に記述
if (mysql_error()) { //エラー発生時ログファイルに書き込み
$error = __LINE__."行目\n".$sql."\n".mysql_error()."\n\n";
error_log($error, 3, "./logs/error.log");
}

■ログファイル
上のソースだとプログラムファイルがあるフォルダに
logsフォルダを作って、その中にerror.logを作成する。

logsフォルダとlogファイルはどちらも書き込みができるよう、
パーミッションに気をつける。

また、普通はまとめてログ管理をするそうで、
ドキュメントルートには置かないので気にする必要はないけど、
それ以外に置く場合はhtaccessを使わないと、

URLを直接叩かれるとlogファイルを読まれてしまう。

なので、パーミッションの読み込み(呼び出し)に関しては
許可しない設定もあり。

 - PHP, エラー管理

  関連記事

ブログサービスの様にサブドメインを動的に生成する方法  

ブログサービスの様に「hoge」というログインIDを作成した際、「hoge.bl ...

MySQLのREGEXPで半角記号を検索したい場合

MySQLのREGEXPで半角記号を検索したい場合 \\を付けてエスケープしない ...

PHPMailerを使ってメールをSMTP送信する方法(Composer無し)

PHPでメールをSMTP送信したかった。また、レンタルサーバだったのでCompo ...

var_export

PHPのソースでvar_exportという見慣れない関数があった。 Aファイルか ...

PHP Qr Codeライブラリを使用してQRコードを生成する方法

PHPでQRコードを生成したい。大分前にGoogle Chart APIを用いて ...

PHPでキーや値は保持したまま順番を入れ替える

PHPで連想配列のキーや値は保持したまま順番をランダムに入れ替えたかった。一発で ...

ユーザーエージェントなどユーザー情報を取得する方法

上からUA、IP、ホスト名を取得。 $ua = $_SERVER['HTTP_U ...

var_dumpの中に複数値を入れられる

何行もvar_dump書いてたけど一行でいけるみたい。 <?php $ho ...

PHPでHTMLメールを送信する方法(PHPMailerあり無しの2パターン)

PHPでHTMLメールを送信したい。また、メール関連の機能を実装する際は環境によ ...

PHPでaタグにnofollowを付ける

タイトルそのまま、リンクがあった場合に nofollowつけてくれ、というもの。 ...