My website uses the PHP function get_browser to see if a client is Javascript enabled. (I use this primarily to see if the visitor is a search engine bot and should see a long list of data or a real person and can handle AJAX-loaded data in tabs – most real people these days are using Javascript-enabled browsers.)
get_browser relies on the php_browscap.ini file, and the problem is that keeping the php_browscap.ini file up-to-date can be a chore, and should certainly be done automatically. (I notice the problem now that I use Chrome, and with every major release, the browscap file has no clue about my new browser, which is silly.)
So I finally sat down and wrote a basic script to fetch the updated file and restart my web server, which I’ll run weekly. This works for my FreeBSD box – change the paths and download command to fit your installation.
/usr/local/bin/wget -Ophp_browscap.ini "http://browsers.garykeith.com/stream.asp?PHP_BrowsCapINI" mv -f /usr/local/etc/php/php_browscap.ini /usr/local/etc/php/php_browscap.old.ini mv -f php_browscap.ini /usr/local/etc/php/ /usr/local/etc/rc.d/apache22 restart
I saved to: usr/local/www/mysite.com/get_php_browscap.sh
Then add it to your crontab:
# php_browscap update 5 4 * * 6 root /usr/local/www/mysite.com/get_php_browscap.sh >> /var/log/cron.log
I run it Saturday morning.
Any questions?