2012-01-01から1年間の記事一覧
Eclipse の FileSync プラグインを使うと、Eclipse でファイルの操作を行ったときに自動でプロジェクト外のディレクトリに同期(保存)させることが出来ます。Linux サーバに samba を入れて Windows からマウントし、ネットワークドライブに FileSync で同…
mod_php(Apache/PHP)で、ページの表示時にバックグラウンドで別プロセスを起動して並列に処理したい場合、次のように書くことが出来ます。 /dev/null 2>&1 &'); ただし、この方法だと Apache の子プロセスの停止や再起動時に、起動したプロセス(上の例な…
CentOS 6 では一般ユーザでも sbin が PATH に設定されるようになっているのですね。 CentOS 6.3 /etc/profile : # Path manipulation if [ "$EUID" = "0" ]; then pathmunge /sbin pathmunge /usr/sbin pathmunge /usr/local/sbin else pathmunge /usr/loca…
前々回 に拡張モジュールを Windows でビルドするついでに PHP 本体を拡張機能を全て無効にしてビルドしましたが、今度は拡張機能を出来るだけ有効にして PHP をビルドします。 なお、前々回とディレクトリ構成を変えていますが深い意味はありません*1。 依…
ErrorException という例外クラスがあり set_error_handler で PHP エラーを例外にして送出する方法がよく紹介されていますが、拡張モジュールの1回の関数呼び出しで複数回の 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 の snmptrapd で traptoemail を使うと簡単にトラップをメール送信することが出来ますが、Date ヘッダが付きません。Date ヘッダが無い場合は MTA が勝手に付けたりするらしいですが、qmail-1.03 は Date ヘッダを付けないため、送信日時(トラップ…
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 の「Fixed CVE-2012-2143」ですが、以下のように文字列中に 0x80 が含まれているとその後の文字が無視されてしまうようです(その他にも問題があるかもしれませんが)。 $ php -r 'echo crypt("r", "rl") . "\n";' rlQzQWiSUOMKQ $ php -r 'echo …
MySQL の RAND 関数の引数の意味がよくわからなかったので色々試してみました。 MySQL :: MySQL 5.1 リファレンスマニュアル :: 11.4.2 数学関数 引数に定数を与えて複数回呼び出すと毎回同じ値が返されます。同じシードで初期化していることになるので当然…
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…
CentOS 5(ホストもゲストも)の KVM で、ゲストのディスクを動的に追加した時のメモです。 ゲスト側でカーネルモジュールを追加 ゲスト側でディスクのホットプラグに対応させるために acpiphp というモジュールが必要らしいので追加します。 modprobe acpip…
xdebug.remote_mode や xdebug.remote_autostart の設定がよくわからなかったので整理しました。 xdebug.remote_mode req リクエスト開始時にデバッグセッションが開始されます jit 最初にエラーが発生したときにデバッグセッションが開始されます jit の場…
VS2010 の VC++ で調査。 // このコードは・・・ i+++++++++j; // このように解釈され、インクリメント演算子の対象が左辺値では無くなるのでコンパイルエラーとなる ((((i++)++)++)++) + j; // このコードは・・・・ i+-+-+-+-+-+-j; // このように解釈され…
/etc/cron.d/hoge などに配置するcronの設定ファイルは行が改行で終端している必要があります。 そのため、以下のような設定ファイルだと 002 の方は実行されません。 * * * * * /bin/echo 001 * * * * * /bin/echo 002[EOF]以下のように、行の終端で改行さ…
MySQL 5.5.22 と 5.5.24 でステートメントベースのレプリケーションで気になる変更点があったので調べてみました。どちらも binlog_format = statement でテストしています。 MySQL 5.5.22 Statements that wrote to tables with AUTO_INCREMENT columns bas…
CentOS 6 で rpmforge から apcupsd (3.14.10) をインストールしたところ、MODEL に表示されるはずの製品名が、DRIVER という項目に表示されるようになりました。 「3.14.10」の場合 VERSION : 3.14.10 (13 September 2011) redhat UPSNAME : SUA1500JB CABL…
SSHのエージェントフォワーディングは「sudo」したときは無効になります。 ※ hoge へのログインにエージェントフォワーディングは使用されない sudo ssh hoge ↑のような使い方だと意味はありませんが、例えば rsync を over ssh で使っている場合はエージェ…
前提として、次の通りテーブルを使用する。 CREATE TABLE A ( id INT NOT NULL, no INT NOT NULL, PRIMARY KEY (id, no) ); CREATE TABLE B ( id INT NOT NULL, PRIMARY KEY (id) ); 普通に結合すると A と B の両方の行がロックされる。 SELECT * FROM A IN…
特定の企業内イントラネットでしか使われないWEBアプリで、IE8だけ対応すればOK!という場合でも、なぜか自動的に互換モードが有効になり、レイアウトが崩れることがありました。それもすべての端末で崩れるわけではなく、端末によって崩れたり崩れなかった…
$rows が 7 件の場合・・・ // 1秒で約290000回程度実行 array_walk($rows, function(&$row){ $row['xxx'] = 123; }); // 1秒で約180000回程度実行 $rows = array_map(function($row){ $row['xxx'] = 123; return $row; }, $rows);
「STARTTLS」はポート番号 25(587) で、通信の開始時は平文通信(SMTP)で、STARTTLS命令により暗号化通信が開始される。「SSL/TLS」はポート番号 465 で、通信の開始時点で暗号化通信が行われる(真の"over SSL")。・・・らしい
1つのサーバで複数のMySQLのインスタンスを立ち上げるために mysqld_multi を使ったときのメモです。 使用した版は 5.1.61-1.el6_2.1 (CentOS6) です。 設定ファイルを作成します。 vi /etc/my.cnfとりあえず以下の様に作成します、基本的な設定のみです。 …
SSHでリモートログインしたときには「/etc/ssh/sshrc」が実行されるので(SSHD (8))、そこでメール送信のコマンドを実行すればメールを送信することができます。 /etc/ssh/sshrc echo "login from ${SSH_CLIENT} at `/bin/date '+%Y-%m-%d %H:%M:%S'`" \ | …
qmailで「/var/qmail/alias/」ディレクトリに「.qmail-user-default」のようなファイル名で、 &user@other.example.jpのように作成すると、「user-」から始まる任意のアカウント宛のメールを「user@other.example.jp」に転送することができますが、この方法…
同じ CentOS 5.7 でも「/etc/modprobe.conf」へ下記の追記だけでIPv6が無効に出来たり出来なかったりしていた件について、更に調べてみました。 alias net-pf-10 off alias ipv6 off IPv6が有効になっていたサーバでは「lsmod | grep ipv6」の出力が下記の通…
sshdの起動時に「/var/log/secure」に以下のようなログが記録されていました。 sshd[30843]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.いかにも22番ポートが競合している風なメッセージなので「lsof -i:22」を試してみるも・・・ …
Thunderbird で Gmail を IMAP で同期するとき、いつも「送信控えと特別なフォルダ」で「[Gmail]/送信済みメール」を送信済みトレイとして選択していたが、特に設定しなくても Gmail のアカウントでメールを送信すれば勝手に送信済みメールに保存されている…
sender_canonical_maps で正規表現マップを使って From を書き換えようとしたときに、 /^hoge/ fugaのようなマップで、アドレスの先頭の hoge だけを fuga に書き換えられると思いましたが、書き換え先(↑の「fuga」の部分)は、マッチした部だけでは無く、…
Thunderbird の Lightning で「Provider for Google Calendar」をインストールしてGoogleカレンダーと同期させているときに、Googleカレンダーの同じアカウントの複数のカレンダーを登録すると・・・(仮に A と B を登録したとする) Lightning で B の予定…