PHP5.3.xのCLI版を起動すると/etc/php.d/php_browscap.iniにエラーがあると出る。
$ php -v
PHP: syntax error, unexpected $end, expecting ‘]’ in /etc/php.d/php_browscap.ini on line 57
PHP 5.3.3 (cli) (built: Jun 27 2012 12:25:37)
こんな具合。
php_browscap.ini自体はマニュアル通り下記サイトから持ってきて設置,/etc/php.iniのbrowscapにも場所を指定。
■Downloads (Temporary) – Browser Capabilities Project
php_browscap.iniの該当行を見ると
[Mozilla/?.0 (compatible; Ask Jeeves/Teoma*)]
みたいな感じであり,文中のセミコロン移行がコメント扱いされてしまうため,[]が合わなくてエラーになるようで。
ということでここからは力業。
文中の ; を全て \; に変換。
これでエラーにならなくなった。
CLIでなくhttpdを通した場合の挙動にも変化なし?とりあえず通って判別もできた。
根本問題はPHP5.3からparse_ini_fileの挙動が変わったことにあるようで。
■Issue 11 – phpbrowscap – parse_ini_file in PHP 5.3 – Browscap PHP Project – Google Project Hosting