首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从PHP触发awstats更新

从PHP触发awstats更新
EN

Stack Overflow用户
提问于 2017-02-28 18:37:51
回答 1查看 188关注 0票数 1

我正在尝试从一个PHP脚本内部触发AWStats的更新。

我目前使用cron作业来触发更新,并简单地将命令行复制到脚本中的exec函数中。

代码语言:javascript
复制
if(exec("/path/to/awstats.pl -config=domain.com -update")) {
    echo 'Logs processed';
}

但是,这会返回一个假阳性。尽管显示了"Logs processed“行,但AWStats尚未处理统计信息。

当直接访问AWStats时,它确实工作得很好,并且当通过cron作业运行更新时,它不是来自这个PHP脚本。我已经检查了错误日志,我的脚本或AWStats超时没有问题。

我是不是遗漏了什么?

对于记录,此脚本旨在清除旧数据,更新引用黑名单以阻止垃圾邮件,然后重新编译日志文件中的统计数据。是的,我知道使用SkipReferrerBlackList指令的性能问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-28 18:56:27

从您的代码中可以看出,您认为exec返回了一个表示成功或失败的布尔值。它不是这样的,它只是返回一个字符串(命令输出的最后一行)。字符串( "0"和空字符串除外)的计算结果始终为true。

要调试该问题,应打印命令的输出:

代码语言:javascript
复制
exec("/path/to/awstats.pl -config=domain.com -update", $output);
echo join(PHP_EOL, $output);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42506422

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档