nodejsからPHPを実行してWordPressのユーザー認証
nodejsを使ってiPhone, Androidアプリ用のRest APIを開発する際に、WordPressのデータベースを使ったユーザー認証をしたかったので調査。 環境: CentoOS 5.10, node.js 0.10.21, php 5.4.21 最初はPHPでやっていることをJavaScriptで再現しようとしたけど、ソースコードを読んで無理そうだと諦めた。 なので、nodejsからPHPを外部コマンドとして呼び出して返り値を受け取ることにした。 nodejsから外部コマンドを実行するのは"child_process"を使うらしい。 Child Process Node.js v0.10.22 Manual & Documentation nodejsから実行するPHPファイル。 wp_checkpassword.php <?php /** * WordPress Check Password for CommandLine * * @usage * # php wp_checkpassword.php --hash="hash" --password="password" --path="/path/to/wordpress" */ $options = getopt(null, array('hash:', 'password:', 'path:')); // // Validation // if (empty($options['hash']) || empty($options['password']) || empty($options['path'])) { exit('option error'); } // // @see wp-includes/pluggable.php line:1448 // $check = false; require_once($options['path'] . 'wp-includes/class-phpass.php&