pragmarx / tracker
一个 Laravel 访问者追踪器
Requires
- php: >=7.0
- doctrine/dbal: ^2.6
- jaybizzle/crawler-detect: ~1.0
- jenssegers/agent: ~2.1
- laravel/framework: ~5|~6|~7|~8
- pragmarx/datatables: ^1.4.12
- pragmarx/support: ~0.6|~0.7|~0.8|~0.9
- psr/log: ~1.0
- ramsey/uuid: ^3 || ^4
- snowplow/referer-parser: ~0.1
- ua-parser/uap-php: ~3.4
Requires (Dev)
- mockery/mockery: ~0.8
Suggests
- geoip/geoip: ~1.14
- geoip2/geoip2: ~2.0
- v4.0.x-dev
- v4.0.1
- v4.0.0
- v3.5.0
- v3.4.3
- v3.4.2
- v3.4.1
- v3.4.0
- v3.3.2
- v3.3.1
- v3.3.0
- v3.2.2
- v3.2.1
- v3.2.0
- v3.1.8
- v3.1.7
- v3.1.6
- v3.1.5
- v3.1.4
- v3.1.3
- v3.1.2
- v3.1.1
- v3.1.0
- v3.0.0
- dev-master / 2.1.x-dev
- v2.0.10
- v2.0.9
- v2.0.8
- v2.0.7
- v2.0.6
- v2.0.5
- v2.0.4
- v2.0.3
- v2.0.2
- v2.0.1
- v2.0.0
- v1.0.8
- v1.0.7
- v1.0.6
- v1.0.5
- v1.0.4
- v1.0.3
- v1.0.2
- v1.0.1
- v1.0.0
- v0.7.8
- v0.7.7
- v0.7.6
- v0.7.5
- v0.7.4
- v0.7.3
- v0.7.2
- v0.7.1
- v0.7.0
- v0.6.2
- v0.6.1
- v0.6.0
- v0.5.2
- v0.5.1
- v0.5.0
- v0.4.4
- v0.4.3
- v0.4.2
- v0.4.1
- v0.4.0
- v0.3.2
- v0.3.1
- v0.3.0
- v0.2.4
- v0.2.3
- v0.2.2
- v0.2.1
- v0.2.0
- dev-scrutinizer-patch-1
- dev-analysis-ze6dOv
This package is auto-updated.
Last update: 2024-09-08 21:29:42 UTC
README
Tracker 从您的请求中收集大量信息,以识别和存储
- 会话
- 页面浏览量(路由上的击中次数)
- 用户(已登录用户)
- 设备(计算机,智能手机,平板电脑...)
- 语言(偏好,语言范围)
- 用户设备(通过,是的,在每个设备上存储一个cookie)
- 浏览器(Chrome,Mozilla Firefox,Safari,Internet Explorer...)
- 操作系统(iOS,Mac OS,Linux,Windows...)
- 地理位置数据(纬度,经度,国家及城市)
- 路由及其所有参数
- 事件
- 引用者(url,medium,source,搜索词...)
- 异常/错误
- SQL查询及其绑定
- URL查询及其参数
- 数据库连接
索引
为什么?
将用户追踪信息存储在索引和规范化的数据库表中,可以节省磁盘空间并简化提取有关您的应用程序和业务的有价值信息。
用法
一旦安装并启用,Tracker 将开始存储您告诉它的所有信息,然后您可以在应用程序中使用 Tracker Facade 访问一切。以下是一些可用的方法和关系
当前会话/访问者
$visitor = Tracker::currentSession();
大多数这些方法返回 Eloquent 模型或集合,因此您不仅可以使用其属性,还可以使用关系数据
var_dump( $visitor->client_ip ); var_dump( $visitor->device->is_mobile ); var_dump( $visitor->device->platform ); var_dump( $visitor->geoIp->city ); var_dump( $visitor->language->preference );
会话(访问)
$sessions = Tracker::sessions(60 * 24); // get sessions (visits) from the past day
foreach ($sessions as $session) { var_dump( $session->user->email ); var_dump( $session->device->kind . ' - ' . $session->device->platform ); var_dump( $session->agent->browser . ' - ' . $session->agent->browser_version ); var_dump( $session->geoIp->country_name ); foreach ($session->session->log as $log) { var_dump( $log->path ); } }
在线用户
获取所有在线会话(登录用户和非登录用户)
$users = Tracker::onlineUsers(); // defaults to 3 minutes
用户
$users = Tracker::users(60 * 24);
用户设备
$users = Tracker::userDevices(60 * 24, $user->id);
事件
$events = Tracker::events(60 * 24);
错误
$errors = Tracker::errors(60 * 24);
页面浏览量摘要
$pageViews = Tracker::pageViews(60 * 24 * 30);
按国家/地区页面浏览量摘要
$pageViews = Tracker::pageViewsByCountry(60 * 24);
筛选范围
您可以使用 Minutes 类发送时间戳范围到这些方法
$range = new Minutes(); $range->setStart(Carbon::now()->subDays(2)); $range->setEnd(Carbon::now()->subDays(1)); Tracker::userDevices($range);
按名称的路由
有一个路由
Route::get('user/{id}', ['as' => 'user.profile', 'use' => 'UsersController@profile']);
您可以使用此方法选择特定路由上的所有击中次数,并使用 Laravel 对其进行计数
return Tracker::logByRouteName('user.profile') ->where(function($query) { $query ->where('parameter', 'id') ->where('value', 1); }) ->count();
如果您需要计算访问该路由的唯一访问者数量,您可以这样做
return Tracker::logByRouteName('tracker.stats.log') ->where(function($query) { $query ->where('parameter', 'uuid') ->where('value', '8b6faf82-00f1-4db9-88ad-32e58cfb4f9d'); }) ->select('tracker_log.session_id') ->groupBy('tracker_log.session_id') ->distinct() ->count('tracker_log.session_id');
屏幕截图
访问
图表
用户
事件
错误
Blade视图
上述视图可在本软件包中找到,但您需要在公共文件夹中安装 sb-admin
控制面板,请参阅以下说明。
数据存储方式
所有表都以 tracker_
前缀命名,以下是一些表的示例,显示列和内容
会话
+-----+--------------------------------------+---------+-----------+----------+-----------------+------------+-----------+----------+-------------+
| id | uuid | user_id | device_id | agent_id | client_ip | referer_id | cookie_id | geoip_id | language_id |
+-----+--------------------------------------+---------+-----------+----------+-----------------+------------+-----------+----------+-------------+
| 1 | 09465be3-5930-4581-8711-5161f62c4373 | 1 | 1 | 1 | 186.228.127.245 | 2 | 1 | 2 | 3 |
| 2 | 07399969-0a19-47f0-862d-43b06d7cde45 | | 2 | 2 | 66.240.192.138 | | 2 | 2 | 2 |
+-----+--------------------------------------+---------+-----------+----------+-----------------+------------+-----------+----------+-------------+
设备
+----+----------+-------------+-------------+------------------+-----------+
| id | kind | model | platform | platform_version | is_mobile |
+----+----------+-------------+-------------+------------------+-----------+
| 1 | Computer | unavailable | Windows 8 | | |
| 2 | Tablet | iPad | iOS | 7.1.1 | 1 |
| 3 | Computer | unavailable | Windows XP | | |
| 5 | Computer | unavailable | Other | | |
| 6 | Computer | unavailable | Windows 7 | | |
| 7 | Computer | unavailable | Windows 8.1 | | |
| 8 | Phone | iPhone | iOS | 7.1 | 1 |
+----+----------+-------------+-------------+------------------+-----------+
代理
+----+-----------------------------------------------------------------------------------------------------------------------------------------+-------------------+-----------------+
| id | name | browser | browser_version |
+----+-----------------------------------------------------------------------------------------------------------------------------------------+-------------------+-----------------+
| 1 | Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.114 Safari/537.36 | Chrome | 35.0.1916 |
| 2 | Mozilla/5.0 (iPad; CPU OS 7_1_1 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) CriOS/34.0.1847.18 Mobile/11D201 Safari/9537.53 | Chrome Mobile iOS | 34.0.1847 |
| 3 | Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) | IE | 6.0 |
| 4 | Python-urllib/2.6 | Other | |
| 5 | Other | Other | |
| 6 | Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.137 Safari/537.36 | Chrome | 34.0.1847 |
| 7 | Mozilla/5.0 (Windows NT 6.3; rv:28.0) Gecko/20100101 Firefox/28.0 | Firefox | 28.0 |
| 8 | Mozilla/5.0 (iPhone; CPU iPhone OS 7_1 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Version/7.0 Mobile/11D169 Safari/9537.53 | Mobile Safari | 7.0 |
+----+-----------------------------------------------------------------------------------------------------------------------------------------+-------------------+-----------------+
语言
+----+------------+----------------+
| id | preference | language_range |
+----+------------+----------------+
| 1 | en | ru=0.8,es=0.5 |
| 2 | es | en=0.7,ru=0.3 |
| 3 | ru | en=0.5,es=0.5 |
+----+------------+----------------+
域名
+----+--------------------------+
| id | name |
+----+--------------------------+
| 1 | antoniocarlosribeiro.com |
+----+--------------------------+
错误
+----+------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| id | code | message |
+----+------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 1 | 404 | |
| 2 | 500 | Call to undefined method PragmaRX\Tracker\Tracker::sessionLog() |
| 3 | 500 | Trying to get property of non-object (View: /home/forge/stage.antoniocarlosribeiro.com/app/views/admin/tracker/log.blade.php) |
| 4 | 500 | syntax error, unexpected 'foreach' (T_FOREACH) |
| 5 | 500 | Call to undefined method PragmaRX\Tracker\Tracker::pageViewsByCountry() |
| 6 | 500 | Class PragmaRX\Firewall\Vendor\Laravel\Artisan\Base contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (Illuminate\Console\Command::fire) |
| 7 | 405 | |
| 8 | 500 | Trying to get property of non-object |
| 9 | 500 | Missing argument 2 for Illuminate\Database\Eloquent\Model::setAttribute(), called in /home/forge/stage.antoniocarlosribeiro.com/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php on line 2444 and defined |
+----+------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
事件
+----+------------------------------------------------+
| id | name |
+----+------------------------------------------------+
| 1 | illuminate.log |
| 2 | router.before |
| 3 | router.matched |
| 4 | auth.attempt |
| 5 | auth.login |
| 6 | composing: admin.tracker.index |
| 7 | creating: admin.tracker._partials.menu |
| 8 | composing: admin.tracker._partials.menu |
| 9 | creating: admin.layout |
| 10 | composing: admin.layout |
| 11 | creating: admin._partials.mainMenu |
| 12 | composing: admin._partials.mainMenu |
| 13 | creating: admin._partials.messages |
| 14 | composing: admin._partials.messages |
| 15 | creating: global._partials.google-analytics |
| 16 | composing: global._partials.google-analytics |
+----+------------------------------------------------+
geoip
+----+----------+-----------+--------------+---------------+---------------------------+--------+----------------+-------------+-----------+----------+------------+----------------+
| id | latitude | longitude | country_code | country_code3 | country_name | region | city | postal_code | area_code | dma_code | metro_code | continent_code |
+----+----------+-----------+--------------+---------------+---------------------------+--------+----------------+-------------+-----------+----------+------------+----------------+
| 1 | 37.4192 | -122.057 | US | USA | United States | CA | Mountain View | 94043 | 650 | 807 | 807 | NA |
| 2 | -10 | -55 | BR | BRA | Brazil | | | | | | | SA |
| 3 | 30.3909 | -86.3161 | US | USA | United States | FL | Miramar Beach | 32550 | 850 | 686 | 686 | NA |
| 4 | 38.65 | -90.5334 | US | USA | United States | MO | Chesterfield | 63017 | 314 | 609 | 609 | NA |
| 5 | 42.7257 | -84.636 | US | USA | United States | MI | Lansing | 48917 | 517 | 551 | 551 | NA |
| 6 | 42.8884 | -78.8761 | US | USA | United States | NY | Buffalo | 14202 | 716 | 514 | 514 | NA |
| 7 | 40.1545 | -75.3809 | US | USA | United States | PA | Norristown | 19403 | 610 | 504 | 504 | NA |
| 8 | 47.4891 | -122.291 | US | USA | United States | WA | Seattle | 98168 | 206 | 819 | 819 | NA |
| 9 | 33.7516 | -84.3915 | US | USA | United States | GA | Atlanta | 30303 | 404 | 524 | 524 | NA |
| 10 | 33.7633 | -117.794 | US | USA | United States | CA | Santa Ana | 92705 | 714 | 803 | 803 | NA |
| 11 | 33.4357 | -111.917 | US | USA | United States | AZ | Tempe | 85281 | 480 | 753 | 753 | NA |
| 12 | 40.7421 | -74.0018 | US | USA | United States | NY | New York | 10011 | 212 | 501 | 501 | NA |
| 13 | 28.6185 | -81.4336 | US | USA | United States | FL | Orlando | 32810 | 407 | 534 | 534 | NA |
| 14 | 38.6312 | -90.1922 | US | USA | United States | MO | Saint Louis | 63101 | 314 | 609 | 609 | NA |
| 15 | 51 | 9 | DE | DEU | Germany | | | | | | | EU |
| 16 | 52.5 | 5.75 | NL | NLD | Netherlands | | | | | | | EU |
| 17 | 48.86 | 2.35 | FR | FRA | France | | | | | | | EU |
| 18 | 60 | 100 | RU | RUS | Russian Federation | | | | | | | EU |
| 19 | 51.5 | -0.13 | GB | GBR | United Kingdom | | | | | | | EU |
| 20 | 42.8333 | 12.8333 | IT | ITA | Italy | | | | | | | EU |
| 21 | 59.3333 | 18.05 | SE | SWE | Sweden | 26 | Stockholm | | | | | EU |
| 22 | -41 | 174 | NZ | NZL | New Zealand | | | | | | | OC |
| 23 | 37.57 | 126.98 | KR | KOR | Korea, Republic of | | | | | | | AS |
| 24 | 1.3667 | 103.8 | SG | SGP | Singapore | | | | | | | AS |
| 25 | -43.5333 | 172.633 | NZ | NZL | New Zealand | E9 | Christchurch | 8023 | | | | OC |
| 26 | -27.471 | 153.024 | AU | AUS | Australia | 04 | Brisbane | | | | | OC |
| 27 | 26.9167 | 75.8167 | IN | IND | India | 24 | Jaipur | | | | | AS |
| 28 | 32 | 53 | IR | IRN | Iran, Islamic Republic of | | | | | | | AS |
| 29 | 32.0617 | 118.778 | CN | CHN | China | 04 | Nanjing | | | | | AS |
| 30 | -22.9 | -47.0833 | BR | BRA | Brazil | 27 | Campinas | | | | | SA |
| 31 | 32.8073 | -117.132 | US | USA | United States | CA | San Diego | 92123 | 858 | 825 | 825 | NA |
| 32 | -22.9 | -43.2333 | BR | BRA | Brazil | 21 | Rio De Janeiro | | | | | SA |
+----+----------+-----------+--------------+---------------+---------------------------+--------+----------------+-------------+-----------+----------+------------+----------------+
日志
+-----+------------+---------+----------+--------+---------------+---------+-----------+---------+------------+----------+
| id | session_id | path_id | query_id | method | route_path_id | is_ajax | is_secure | is_json | wants_json | error_id |
+-----+------------+---------+----------+--------+---------------+---------+-----------+---------+------------+----------+
| 1 | 1 | 1 | | GET | 1 | | 1 | | | |
| 2 | 1 | 2 | | GET | 2 | | 1 | | | |
| 3 | 1 | 3 | | GET | 3 | | 1 | | | |
| 4 | 1 | 3 | | POST | 4 | | 1 | | | |
+-----+------------+---------+----------+--------+---------------+---------+-----------+---------+------------+----------+
路径
+----+--------------------------------------------------------+
| id | path |
+----+--------------------------------------------------------+
| 1 | / |
| 2 | admin |
| 3 | login |
| 4 | admin/languages |
| 5 | admin/tracker |
| 6 | admin/pages |
| 7 | jmx-console |
| 8 | manager/html |
| 9 | administrator |
| 10 | joomla/administrator |
| 11 | cms/administrator |
| 12 | Joomla/administrator |
| 13 | phpmyadmin |
| 14 | phpMyAdmin |
| 15 | mysql |
| 16 | sql |
| 17 | myadmin |
| 18 | webdav |
+----+--------------------------------------------------------+
路由路径
+----+----------+--------------------------------------------------------+
| id | route_id | path |
+----+----------+--------------------------------------------------------+
| 1 | 1 | / |
| 2 | 2 | admin |
| 3 | 3 | login |
| 4 | 4 | login |
| 5 | 5 | admin/languages |
| 6 | 6 | admin/tracker |
| 7 | 7 | admin/pages |
+----+----------+--------------------------------------------------------+
路由
+----+--------------------------------------+----------------------------------------------------------+
| id | name | action |
+----+--------------------------------------+----------------------------------------------------------+
| 1 | home | ACR\Controllers\Home@index |
| 2 | admin | ACR\Controllers\Admin\Admin@index |
| 3 | login.form | ACR\Controllers\Logon@form |
| 4 | login.do | ACR\Controllers\Logon@login |
| 5 | admin.languages.index | ACR\Controllers\Admin\Languages@index |
| 6 | admin.tracker.index | ACR\Controllers\Admin\Tracker@index |
| 7 | admin.pages.index | ACR\Controllers\Admin\Pages@index |
| 8 | admin.tracker.log | ACR\Controllers\Admin\Tracker@log |
| 9 | technology | ACR\Controllers\Technology@index |
| 10 | technology.articles.show | ACR\Controllers\Technology@show |
| 11 | language.select | ACR\Controllers\Language@select |
| 12 | admin.tracker.summary | ACR\Controllers\Admin\Tracker@summary |
| 13 | admin.tracker.api.pageviews | ACR\Controllers\Admin\Tracker@apiPageviews |
| 14 | admin.tracker.api.pageviewsbycountry | ACR\Controllers\Admin\Tracker@apiPageviewsByCountry |
| 15 | admin.pages.create | ACR\Controllers\Admin\Pages@create |
| 16 | api.markdown | ACR\Controllers\Api@markdown |
| 17 | admin.pages.store | ACR\Controllers\Admin\Pages@store |
| 18 | bio | ACR\Controllers\StaticPages@show |
| 19 | logout.do | ACR\Controllers\Logon@logout |
| 20 | admin.tracker.index | ACR\Controllers\Admin\UsageTracker@index |
| 21 | admin.tracker.api.pageviewsbycountry | ACR\Controllers\Admin\UsageTracker@apiPageviewsByCountry |
| 22 | admin.tracker.api.pageviews | ACR\Controllers\Admin\UsageTracker@apiPageviews |
+----+--------------------------------------+----------------------------------------------------------+
sql_queries ;
+----+------------------------------------------+-------------------------------------------------------------------------------------------------+-------+---------------+
| id | sha1 | statement | time | connection_id |
+----+------------------------------------------+-------------------------------------------------------------------------------------------------+-------+---------------+
| 1 | 5aee121018ac16dbf26dbbe0cf35fd44a29a5d7e | select * from "users" where "id" = ? limit 1 | 3.13 | 1 |
| 2 | 0fc3f3a722b0f9ef38e6bee44fc3fde9fb1fd1d9 | select "created_at" from "articles" where "published_at" is not null order by "created_at" desc | 1.99 | 1 |
+----+------------------------------------------+-------------------------------------------------------------------------------------------------+-------+---------------+
手动记录事项
如果您的应用程序有特殊需求,您可以手动记录诸如
事件
Tracker::trackEvent(['event' => 'cart.add']); Tracker::trackEvent(['event' => 'cart.add', 'object' => 'App\Cart\Events\Add']);
路由
Tracker::trackVisit( [ 'name' => 'my.dynamic.route.name', 'action' => 'MyDynamic@url' ], ['path' => 'my/dynamic/url'] );
要求
- Laravel 5+
- PHP 5.3.7+
- 包 "geoip/geoip":"~1.14" 或 "geoip2/geoip2":"~2.0"(如果您计划存储地理IP信息)
对于 Laravel 4+,请使用版本 2.0.10。
安装
在您的命令行中执行以下命令来要求 tracker
包
composer require pragmarx/tracker
将服务提供程序添加到您的 app/config/app.php
PragmaRX\Tracker\Vendor\Laravel\ServiceProvider::class,
将别名添加到 facade 的 app/config/app.php
'Tracker' => 'PragmaRX\Tracker\Vendor\Laravel\Facade',
发布 Tracker 配置
Laravel 4
php artisan config:publish pragmarx/tracker
Laravel 5
php artisan vendor:publish --provider="PragmaRX\Tracker\Vendor\Laravel\ServiceProvider"
启用中间件(Laravel 5)
打开位于 app/config/tracker.php
的新发布配置文件,并启用 use_middleware
'use_middleware' => true,
将中间件添加到Laravel Kernel (Laravel 5)
打开文件 app/Http/Kernel.php
,并将以下内容添加到您的web中间件中
\PragmaRX\Tracker\Vendor\Laravel\Middlewares\Tracker::class,
在您的config.php (Laravel 4) 或 tracker.php (Laravel 5) 中启用Tracker
'enabled' => true,
发布迁移
php artisan tracker:tables
这仅在您使用Laravel 4时需要,因为在Laravel 5中,vendor:publish
会为您完成。
在您的 config/database.php
中为其创建数据库连接
'connections' => [ 'mysql' => [ ... ], 'tracker' => [ 'driver' => '...', 'host' => '...', 'database' => ..., 'strict' => false, // to avoid problems on some MySQL installs ... ], ],
迁移它
如果您已将默认连接设置为 tracker
,则可以
php artisan migrate
否则您将必须
php artisan migrate --database=tracker
如果您计划存储Geo IP信息,请安装geoip包
composer require "geoip/geoip":"~1.14"
or
composer require "geoip2/geoip2":"~2.0"
并确保您没有安装PHP模块。以下是一个Debian/Ubuntu示例
sudo apt-get purge php5-geoip
默认情况下所有内容均被禁用
Tracker有很多日志选项,但您需要决定您想记录什么。从启用以下选项开始
'log_enabled' => true,
它负责记录页面访问和会话,基本上是客户端IP地址。
多个认证驱动器
您只需将所有auth IOC绑定到数组中即可
'authentication_ioc_binding' => ['auth', 'admin'],
统计面板
要在您的网站上使用统计面板,您需要将sb-admin 2源代码下载到您的public文件夹
git clone https://github.com/BlackrockDigital/startbootstrap-sb-admin-2.git public/templates/sb-admin-2
cd public/templates/sb-admin-2
git checkout tags/v3.3.7+1
git checkout -b v3.3.7+1
并在您的配置文件中启用
'stats_panel_enabled' => true,
设置用于统计路由的web中间件(Laravel 5)
'stats_routes_middleware' => 'web',
只有管理员可以查看统计信息,所以如果您在用户模型中没有is_admin属性,您必须添加一个
public function getIsAdminAttribute() { return true; }
它可以是指“admin”、“is_admin”、“root”或“is_root”。
故障排除
是否已启用所有内容?
请确保在配置文件中启用了Tracker。这通常是大多数问题的来源。
跟踪您的laravel.log文件
tail -f storage/logs/laravel.log
通常非跟踪IP地址和其他消息将出现在日志中
[2018-03-19 21:28:08] local.WARNING: TRACKER (unable to track item): 127.0.0.1 is not trackable.
SQLSTATE[42000]: Syntax error or access violation: 1067 Invalid default value for 'field name'
这可能与MySQL的SQL模式有关,特别是与NO_ZERO_IN_DATE
和NO_ZERO_DATE
模式有关
https://stackoverflow.com/questions/36882149/error-1067-42000-invalid-default-value-for-created-at
Laravel默认为
set session sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
您可能需要更改Tracker数据库连接配置为
'connections' => [ ... 'tracker' => [ ... 'strict' => false, ], ],
无法跟踪用户?
如果您收到类似以下错误
Base table or view not found: 1146 Table 'tracker.users' doesn't exist
您可能需要更改
'user_model' => 'PragmaRX\Tracker\Vendor\Laravel\Models\User',
以创建(或使用当前)一个用户模型
'user_model' => 'App\TrackerUser',
并配置与用户表相关的连接
protected $connection = 'mysql';
无法跟踪API?
在您的内核中
protected $middlewareGroups = [
'web' => [
.......
\PragmaRX\Tracker\Vendor\Laravel\Middlewares\Tracker::class,
],
'api' => [
.......
\PragmaRX\Tracker\Vendor\Laravel\Middlewares\Tracker::class,
],
];
作者
许可证
Tracker遵循BSD 3-Clause许可证 - 有关详细信息,请参阅LICENSE
文件
贡献
欢迎提交拉取请求和问题。