我知道这对聚会来说有点晚了,但是使用它的最有效方法是每天在您的服务器上运行一次 cron 作业以更新缓存,然后在您的代码中进行更新,以便在调用 browscap 时更新缓存.
在您的网站页面中,运行以下代码:
$browscap = new Browscap($cacheDir);
$browscap->doAutoUpdate = false;
$current_browser = $browscap->getBrowser();
在您的服务器上,创建这个脚本(我称之为 updateBrowscap.php),我的脚本与 browscap.php 在同一个文件夹中,缓存文件夹是它的子文件夹。
ini_set('memory_limit','1024M'); // allow 1GB for this script
set_time_limit(300); // change to 5 minutes for this script
// CREATE THIS CRON SCRIPT TO RUN ONCE PER DAY
// /usr/bin/php -q [full-path-to-this-file]/updateBrowscap.php > [full-path-to-this-file]/backup.log 2>&1
// Loads the class
require 'Browscap.php';
// The Browscap class is in the phpbrowscap namespace, so import it
use phpbrowscap\Browscap;
echo 'started: '.date("d-m-Y H:i:s", time()).PHP_EOL;
$path = dirname(__FILE__).'/cache';
$bc = new Browscap($path);
$bc->updateCache();
echo 'finished: '.date("d-m-Y H:i:s", time()).PHP_EOL;
我的脚本无法使用共享主机允许我分配的最大 512MB 运行,因此我在此脚本中手动将其设置为 1024MB。
一旦我解决了内存问题,我就遇到了超时问题,所以我将这个脚本的时间从 30 秒增加到 5 分钟。
我每天凌晨 3 点左右运行一次。