Laravel Tracker 不产生结果

Posted

技术标签:

【中文标题】Laravel Tracker 不产生结果【英文标题】:Laravel Tracker not producing results 【发布时间】:2017-05-17 20:21:32 【问题描述】:

我有 laravel 5.4,我已经安装了跟踪器,但到目前为止我没有得到结果。我不确定我的发布语句是否正常工作,因为它发布了迁移但没有模型。我想知道这是否正确。

https://github.com/antonioribeiro/tracker

我还想知道如何调用在 git 语句上设置的模板页面。我已经在下载的文件中运行了这些,但是没有打开我在跟踪器配置文件中配置的路由。是否有我需要添加到我的路线文件的路线列表。

当我调用tracker时,我没有收到未找到的错误,但我也只返回了空数据集。

我们将不胜感激任何可以提供的帮助。感谢您的时间。我尽可能地按照说明进行操作,但是缺少一些配置到 laravel 5.4 的信息。

如果这很重要,我目前正在使用文件会话。它没有说任何关于满足变化的内容。

***我应该提到我的网络中间件中有一个多重身份验证系统。这两个守卫都内置在 Web 中间件中。我认为这不是问题,因为我暂时尝试以普通用户身份登录查看统计页面。

跟踪器配置文件

<?php
return [
    /*
     * Enable it?
     */
    'enabled' => true,
    /*
     * Enable cache?
     */
    'cache_enabled' => true,
    /*
     * Deffer booting for middleware use
     */
    'use_middleware' => true,
    /*
     * Robots should be tracked?
     */
    'do_not_track_robots' => false,
    /*
     * Which environments are not trackable?
     */
    'do_not_track_environments' => [
        // defaults to none
    ],
    /*
     * Which routes names are not trackable?
     */
    'do_not_track_routes' => [
        'tracker.stats.*',
    ],
    /*
     * The Do Not Track Ips is used to disable Tracker for some IP addresses:
     *
     *     '127.0.0.1', '192.168.1.1'
     *
     * You can set ranges of IPs
     *     '192.168.0.1-192.168.0.100'
     *
     * And use net masks
     *     '10.0.0.0/32'
     *     '172.17.0.0/255.255.0.0'
     */
    'do_not_track_ips' => [
    //    '127.0.0.0/24', /// range 127.0.0.1 - 127.0.0.255
    ],
    /*
     * Log every single access?
     *
     * The log table can become huge if your site is popular, but...
     *
     * Log table is also responsible for storing information on:
     *
     *    - Routes and controller actions accessed
     *    - HTTP method used (GET, POST...)
     *    - Error log
     *    - URL queries (including values)
     */
    'log_enabled' => false,
    /*
     * Log SQL queries?
     *
     * Log must be enabled for this option to work.
     */
    'log_sql_queries' => false,
    /*
     * If you prefer to store Tracker data on a different database or connection,
     * you can set it here.
     *
     * To avoid SQL queries log recursion, create a different connection for Tracker,
     * point it to the same database (or not) and forbid logging of this connection in
     * do_not_log_sql_queries_connections.
     */
    'connection' => 'tracker',
    /*
     * Forbid logging of SQL queries for some connections.
     *
     * To avoid recursion, you better ignore Tracker connection here.
     *
     * Please create a separate database connection for Tracker. It can hit
     * the same database of your application, but the connection itself
     * has to have a different name, so the package can ignore its own queries
     * and avoid recursion.
     *
     */
    'do_not_log_sql_queries_connections' => [
        'tracker',
    ],
    /*
     * Also log SQL query bindings?
     *
     * Log must be enabled for this option to work.
     */
    'log_sql_queries_bindings' => false,
    /*
     * Log events?
     */
    'log_events' => false,
    /*
     * Which events do you want to log exactly?
     */
    'log_only_events' => [
        // defaults to logging all events
    ],
    /*
     * What are the names of the id columns on your system?
     *
     * 'id' is the most common, but if you have one or more different,
     * please add them here in your preference order.
     */
    'id_columns_names' => [
        'id',
    ],
    /*
     * Do not log events for the following patterns.
     * Strings accepts wildcards:
     *
     *    eloquent.*
     *
     */
    'do_not_log_events' => [
        'illuminate.log',
        'eloquent.*',
        'router.*',
        'composing: *',
        'creating: *',
    ],
    /*
     * Do you wish to log Geo IP data?
     *
     * You will need to install the geoip package
     *
     *     composer require "geoip/geoip":"~1.14"
     *
     * And remove the PHP module
     *
     *     sudo apt-get purge php5-geoip
     *
     */
    'log_geoip' => false,
    /*
     * Do you wish to log the user agent?
     */
    'log_user_agents' => false,
    /*
     * Do you wish to log your users?
     */
    'log_users' => false,
    /*
     * Do you wish to log devices?
     */
    'log_devices' => false,
    /*
     * Do you wish to log languages?
     */
    'log_languages' => false,
    /*
     * Do you wish to log HTTP referers?
     */
    'log_referers' => false,
    /*
     * Do you wish to log url paths?
     */
    'log_paths' => false,
    /*
     * Do you wish to log url queries and query arguments?
     */
    'log_queries' => false,
    /*
     * Do you wish to log routes and route parameters?
     */
    'log_routes' => false,
    /*
     * Log errors and exceptions?
     */
    'log_exceptions' => false,
    /*
     * A cookie may be created on your visitor device, so you can have information
     * on everything made using that device on your site.    *
     */
    'store_cookie_tracker' => false,
    /*
     * If you are storing cookies, you better change it to a name you of your own.
     */
    'tracker_cookie_name' => 'please_change_this_cookie_name',
    /*
     * Internal tracker session name.
     */
    'tracker_session_name' => 'tracker_session',
    /*
     * ** IMPORTANT **
     *   Change the user model to your own.
     */
    'user_model' => 'App\User',
    /*
     * You can use your own model for every single table Tracker has.
     */
    'session_model' => 'PragmaRX\Tracker\Vendor\Laravel\Models\Session',
    'log_model' => 'PragmaRX\Tracker\Vendor\Laravel\Models\Log',
    'path_model' => 'PragmaRX\Tracker\Vendor\Laravel\Models\Path',
    'query_model' => 'PragmaRX\Tracker\Vendor\Laravel\Models\Query',
    'query_argument_model' => 'PragmaRX\Tracker\Vendor\Laravel\Models\QueryArgument',
    'agent_model' => 'PragmaRX\Tracker\Vendor\Laravel\Models\Agent',
    'device_model' => 'PragmaRX\Tracker\Vendor\Laravel\Models\Device',
    'cookie_model' => 'PragmaRX\Tracker\Vendor\Laravel\Models\Cookie',
    'domain_model' => 'PragmaRX\Tracker\Vendor\Laravel\Models\Domain',
    'referer_model' => 'PragmaRX\Tracker\Vendor\Laravel\Models\Referer',
    'referer_search_term_model' => 'PragmaRX\Tracker\Vendor\Laravel\Models\RefererSearchTerm',
    'route_model' => 'PragmaRX\Tracker\Vendor\Laravel\Models\Route',
    'route_path_model' => 'PragmaRX\Tracker\Vendor\Laravel\Models\RoutePath',
    'route_path_parameter_model' => 'PragmaRX\Tracker\Vendor\Laravel\Models\RoutePathParameter',
    'error_model' => 'PragmaRX\Tracker\Vendor\Laravel\Models\Error',
    'geoip_model' => 'PragmaRX\Tracker\Vendor\Laravel\Models\GeoIp',
    'sql_query_model' => 'PragmaRX\Tracker\Vendor\Laravel\Models\SqlQuery',
    'sql_query_binding_model' => 'PragmaRX\Tracker\Vendor\Laravel\Models\SqlQueryBinding',
    'sql_query_binding_parameter_model' => 'PragmaRX\Tracker\Vendor\Laravel\Models\SqlQueryBindingParameter',
    'sql_query_log_model' => 'PragmaRX\Tracker\Vendor\Laravel\Models\SqlQueryLog',
    'connection_model' => 'PragmaRX\Tracker\Vendor\Laravel\Models\Connection',
    'event_model' => 'PragmaRX\Tracker\Vendor\Laravel\Models\Event',
    'event_log_model' => 'PragmaRX\Tracker\Vendor\Laravel\Models\EventLog',
    'system_class_model' => 'PragmaRX\Tracker\Vendor\Laravel\Models\SystemClass',
    'language_model' => 'PragmaRX\Tracker\Vendor\Laravel\Models\Language',
    /*
     * Laravel internal variables on user authentication and login.
     */
    'authentication_ioc_binding' => ['auth','admin'], // defaults to 'auth' in Illuminate\Support\Facades\Auth
    'authenticated_check_method' => 'check', // to Auth::check()
    'authenticated_user_method' => 'user', // to Auth::user()
    'authenticated_user_id_column' => 'id', // to Auth::user()->id
    'authenticated_user_username_column' => 'email', // to Auth::user()->email
    /*
     * Enable the Stats Panel?
     */
    'stats_panel_enabled' => false,
    /*
     * Stats Panel routes before filter
     *
     */
    'stats_routes_before_filter' => '',
    /*
     * Stats Panel routes after filter
     *
     */
    'stats_routes_after_filter' => '',
    /*
     * Stats Panel routes middleware
     *
     */
    'stats_routes_middleware' => 'web',
    /*
     * Stats Panel template path
     */
    'stats_template_path' => '/templates/sb-admin-2',
    /*
     * Stats Panel base uri.
     *
     * If your site url is http://wwww.mysite.com, then your stats page will be:
     *
     *    http://wwww.mysite.com/stats
     *
     */
    'stats_base_uri' => 'admin/stats',
    /*
     * Stats Panel layout view
     */
    'stats_layout' => 'pragmarx/tracker::layout',
    /*
     * Stats Panel controllers namespace
     */
    'stats_controllers_namespace' => 'PragmaRX\Tracker\Vendor\Laravel\Controllers',
];

【问题讨论】:

【参考方案1】:

看起来它不需要单独的模型。如果您运行了php artisan vendor:publish 命令,它所需的公共文件应该在 5.4 中可供您使用。

您的选项文件指定它已经在使用 App\User 模型,我认为它不需要任何其他模型。您确实需要将这一行:'stats_panel_enabled' =&gt; false 更改为 true。另外,您是否按照上一步中的说明在 App\User 上设置了 is_admin 属性?

即使您无法进入跟踪器视图,数据库表中是否还会显示任何内容?

【讨论】:

感谢您的回复。这确实让我更近了一步,但是没有人访问我在配置文件中设置的统计页面,我收到“用户模型错过管理属性”的错误。我对这个错误进行了搜索,之前的所有结论都不起作用。 //在上面添加了信息//我仍然没有得到任何跟踪器函数来返回活动或在我的数据库中看到跟踪器表的任何新记录。所以我更近了一步,但仍有一些问题

以上是关于Laravel Tracker 不产生结果的主要内容,如果未能解决你的问题,请参考以下文章

FastDFS重启后上传文件报错的解决方案

Visual Tracker Benchmark

您如何修复开始出现与 PYTHON_EGG_CACHE 相关的错误的 Trac 安装?

两个帖子之间的Laravel中的Ajax帖子错误

重定向到 laravel 中的路由结果“HTTP 500 错误”

Laravel QueryBuilder - 相同查询的 `where()` 和 `whereRaw()` 结果不同