使用 Piwik 统计时遇到的坑及解决方案

2016.08.22/2016.08.26发布于笔记暂无评论/目录

Piwik 是一个优秀的开源网站统计系统,实际使用的时候因为对 php 和 nginx 了解不深,踩了不少坑,下面总结下解决方案,预防重复进坑。

以下内容基于部署在 Debian jessie 上的 Piwik 2.16.2,使用 nginx + php-fpm 来运行。

基本配置

因为 nginx 本身没有模块来执行 php 文件,只能借用外部的 FastCGI 服务,这里用的是 php-fpm

php5-fpm 的 php 配置文件位于 /etc/php5/fpm/php.ini,修改过后记得重启 php5-fpm 服务。

# 显示错误信息
display_errors = On

Maximum function nesting level reached

增加 xdebug.max_nesting_level

配置文件可能在单独的 ini 文件里,例如 /etc/php5/fpm/conf.d/20-xdebug.ini

xdebug.max_nesting_level = 200

File not found

如果把 Piwik 配置在域名的子目录里,注意配置 location ~ \.php$ 的 root,下面的配置会导致该问题。

server {

    # 省略其他配置

    root /path/to/root/dir;

    location /piwik/ {
        root /path/to/piwiki/dir;
    }

    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass   unix:/var/run/php5-fpm.sock;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
}

建议把 Piwik 配置在单独的子域名里。

插件和商城界面超时

启用 allow_url_include。

allow_url_include = On
#piwik#网站统计

评论