Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Всем привет,
При ображении к методам сессии :
$request= Request();
if ( $request->session()->has('sqlmonitor_tracing_on') and !empty($contents) ) {
в файле app/Providers/AppServiceProvider.php
Получил ошибку:
[2017-10-25 15:07:28] local.ERROR: Session store not set on request. {"exception":"[object] (RuntimeException(code: 0): Session store not set on request. at /vendor/laravel/framework/src/Illuminate/Http/Request.php:414)[stacktrace]
#0 /app/Providers/AppServiceProvider.php(426): Illuminate\\Http\\Request->session()
#1 /app/Providers/AppServiceProvider.php(156): App\\Providers\\writeSqlToLog(' SELECT * \
При обработке событий на sql-запрос :
class AppServiceProvider extends ServiceProvider
{
public function boot()
{
...
if ($this->app->environment('local')) {
...
\DB::listen(function($query) {
...
writeSqlToLog($str, 'Time ' . $query->time.' : '.PHP_EOL);
Хотелось в приложении смотреть все sql-запросы в самом приложении, что-то вроде:
админ заходит на специальную панельку, жмет “Start Tracing”.
в сессии устанавливается ключ.
В AppServiceProvider проверять этот ключ и если он установлен, то все запросы добавлять в массив, который хранить в самой сессии(или может файл на диске).
На той же специальнрй панельке админ жмет “Stop Tracing”.
Получиться так и как исправить ошибку выше?
Спасибо !
Не в сети
Если хочешь запросы логировать, посмотри в сторону https://gist.github.com/Ellrion/2edef2e … 2af9beac2b
Не в сети
Не в сети
Страницы 1