PHP

PHP

PHPのmicrotimeの精度によるmt_srandへの影響

PHP5.3以下を使っていて、microtime()を元に乱数を生成している人は注意! オフィシャルサイトのサンプルコード通りだとシードがランダムになりません。 PHPのユニットテストで確率を計算しているときに、「なかなか数字が分散しない」...
PHP

Packfire Framework

Githubをぶらぶらしていたら、PackfireというPHP Web Application Frameworkを偶然見つけた。 Official Siteがかっこいい。また、使っている要素技術が、PHP5.3 + Namespace +...
Wordpress

WordPress 3.4.1にしてからDBが刺さる

show full processlistしてみると、以下のクエリーがテーブルレベルのロックを取得しているようで、他のスレッドをブロックしていると。ストレージがなぜだかMyISAMなのがいけないのだろうけど、66万件のindex貼ってないカ...
PHP

PHP’s MessageFormatter benchmark

測定環境は、PHP 5.3.8で、ab -n 500です。 数字はです。 ベンチマークプログラムダウンロード
PHP

[PHP]変数vs文字列

文字列を共通化するために、変数で定義する方法と文字を直接書く方法どちらが速いか検証してみたら、ほぼ同じだった。どっちもどっち。 define.php <?php define('word', 'hogehoge'); $start = mi...
PHP

Webアプリケーションでのパスワード保存方法

自分的メモ。 ネタもと: Rainbow Crackみたいなツール使うと一方向hashした値はすぐにクラックできちゃうよ。 md5でもsha1でも同じ。Rainbow Crackの準備は時間かかるけど、これならターゲットの文字を入手したら数...
PHP

Zend_Mailでマルチバイトメール

まともなコードが掲載されていなかったので、汚いですが掲載。 $mail = new Zend_Mail('ISO-2022-JP'); $mail->setHeaderEncoding(Zend_Mime::ENCODING_BASE64)...
Wordpress

Memcached Object Cache+batcache

概要 mystiqueテーマを使った、Wordpressのページ表示に1,2秒かかるのでキャッシュを導入し、レスポンスが35.6倍速くなりました! インストール 以前、WP-SuperCacheというプラグインを試したが、マルチブログで正常...
PHP

メールアドレスのドメイン部分をチェック

ユーザが入力したメアドの検証をするために、アットマーク以降のドメイン部分を検証する。 <?php /** * Validate the mail address * * @author Yuki Matsukura * @version $...
PHP

PHPでXML-RPC

Blog記事の更新をサーチエンジンなどに通知するXML RPCをPHPで実装する方法を紹介します。 まず、weblogUpdates.pingの仕様。 weblogUpdates.ping (weblogname, weblogurl, c...