2012-06-01から1ヶ月間の記事一覧

PHP の set_error_handler で設定した関数が例外を投げた場合の動作(with 拡張モジュール)

PHP

ErrorException という例外クラスがあり set_error_handler で PHP エラーを例外にして送出する方法がよく紹介されていますが、拡張モジュールの1回の関数呼び出しで複数回の PHP エラーが発生した場合にどのような動作になるのか気になったので調べてみま…

PHP拡張モジュールを Windows でビルド

PHP

参考URL https://wiki.php.net/internals/windows/stepbystepbuild 必要なもの とりあえず下記のものを準備します。 Microsoft Visual C++ 2010 Express*1 PHP ソースファイル ... PHP: Downloads php-sdk ... windows.php.net - /downloads/php-sdk/ php-sd…

NetSNMP の traptoemail で Date ヘッダを追加する

NetSNMP の snmptrapd で traptoemail を使うと簡単にトラップをメール送信することが出来ますが、Date ヘッダが付きません。Date ヘッダが無い場合は MTA が勝手に付けたりするらしいですが、qmail-1.03 は Date ヘッダを付けないため、送信日時(トラップ…

Windows版の pdo-mysql で MYSQL_ATTR_READ_DEFAULT_FILE が未定義だった

PHP

PHP の PDO でキャラクタセットを指定するときは次の様に行なっています。 $pdo = new PDO("mysql:host=127.0.0.1;dbname=test", $username, $password, array( PDO::MYSQL_ATTR_READ_DEFAULT_FILE => '/etc/my.cnf', PDO::MYSQL_ATTR_READ_DEFAULT_GROUP =>…

PHP 5.3.14 の CVE-2012-2143

PHP

php-5.3.14 の「Fixed CVE-2012-2143」ですが、以下のように文字列中に 0x80 が含まれているとその後の文字が無視されてしまうようです(その他にも問題があるかもしれませんが)。 $ php -r 'echo crypt("r", "rl") . "\n";' rlQzQWiSUOMKQ $ php -r 'echo …

MySQL の RAND 関数の引数

MySQL の RAND 関数の引数の意味がよくわからなかったので色々試してみました。 MySQL :: MySQL 5.1 リファレンスマニュアル :: 11.4.2 数学関数 引数に定数を与えて複数回呼び出すと毎回同じ値が返されます。同じシードで初期化していることになるので当然…

thold プラグインのアップデート失敗と RPN Expression

cacti の thold プラグインを 0.4.3 → 0.4.9 にバージョンアップしたら、閾値に計算式が使えるようになっていたので使ってみました。 作業時の環境 OS CentOS 5 (2.6.18-308.8.1.el5) php 5.3.12 mysql 5.0.95 cacti 0.8.7g → 0.8.8a thold 0.4.3 → 0.4.9 se…

ディスクを動的に追加する

KVM

CentOS 5(ホストもゲストも)の KVM で、ゲストのディスクを動的に追加した時のメモです。 ゲスト側でカーネルモジュールを追加 ゲスト側でディスクのホットプラグに対応させるために acpiphp というモジュールが必要らしいので追加します。 modprobe acpip…