php_browscap.iniのエラーをなくす(php53,CLI)

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

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください