cron - Browscap.ini arroja un error al cargar PHP(línea de comando-PHP_CLI)
syntax-error (2)
Tengo un cronjob que resume las estadísticas del navegador. Este cronjob carga datos y luego utiliza la función PHP get_browser () para analizar la información del navegador.
Esto es lo que hice:
cd /etc/php5/cli/conf.d
me@ubutnu:/etc/php5/cli/conf.d$ sudo wget http://browsers.garykeith.com/stream.asp?Lite_PHP_BrowsCapINI -O browscap.ini
2011-09-30 15:14:18 (890 KB/s) - `browscap.ini'' saved [185384/185384]
Luego se ejecuta cronjob:
php /usr/local/cron/summarizeStats.php --option=browserStats --date=yesterday
y obtengo este error:
PHP: syntax error, unexpected $end, expecting '']'' in /etc/php5/cli/conf.d/browscap.ini on line 51
¿Qué estoy haciendo mal? Gracias
Aparentemente ahora hay un error con esos archivos browsecap. Parece que contienen puntos y comas sin escote ";" en la especificación del navegador Puedes arreglar eso usando este pequeño script:
<?php
$browsecap = file(''browscap.ini'');
foreach( $browsecap as &$row )
if ( $row[ 0 ] == ''['' )
$row = str_replace( '';'', ''//;'', $row );
file_put_contents( ''fixed_browscap.ini'', $browsecap );
sed
se puede usar para escapar del punto y coma de la siguiente manera:
sed ''s/;////;/g'' browscap.ini > browscap_escape.ini
Esto captará todos los comentarios también, pero podrías usar sed
nuevamente para capturarlos.
Como se describe aquí github.com/browscap/browscap/issues/119