Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
А во и прикол что в логи лары трэйсы не попада.т. Или нет ошибок, или не пишутся. Хотя, повторю, все пермишены к папкам есть.
Вопрос, буду крайне благодарен за оперативную помощь.
Ситуевина:
Лара 5.5, РНР7.1. Не пашет логин. Вернее пашет но плохо. Логин проходит, но после перехода на другую страницу, Лара вылогинивает юзера.
С той же версией РНР, с теми же конфигами сервера, с теми же конфигами Лары на другом серваке все работает.
Сначала грешил на сессии, но все пермишны на папки есть, но файлы сессий туда не пишутся. Перекинул сессии в БД, но проблема осталась.
Что может быть?
Починил. У меня в Kernel.php не хватало свойства
protected $middlewareGroups
После апгрейда упустил этот момент.
Сделал так же и роуты перекинул. Но все равно беда та же. не работает мидлвер почему-то.
Версия Laravel: 5.5 (пошаговое обновление с 5.1)
Версия PHP: 7.1.11
Задача, что должно происходить в целом:
Должен работать middleware 'web'.
Что произошло, текст ошибки, если есть:
При подключении пакета SleepingOwl, который требует наличие и использование middleware 'web', получаю ошибку:
ErrorException (E_NOTICE)
Array to string conversion
ErrorException
…
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/MiddlewareNameResolver.php
42
8
Illuminate
\Foundation
\Bootstrap
\HandleExceptions
handleError
…
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/MiddlewareNameResolver.php
42
7
Illuminate
\Routing
\MiddlewareNameResolver
resolve
…
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Router.php
624
6
Illuminate
\Routing
\Router
Illuminate
\Routing
\{closure}
[internal]
0
5
array_map
…
/vendor
/laravel
/framework
/src
/Illuminate
/Support
/Collection.php
833
4
Illuminate
\Support
\Collection
map
…
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Router.php
625
....
http://prntscr.com/gmkq8n
Варианты/догадки, почему это произошло:
Что-то не так с middleware после обновления версии Laravel.
Код:
app\Providers\RouteServiceProvider.php:
<?php
namespace App\Providers;
use Illuminate\Routing\Router;
use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider;
class RouteServiceProvider extends ServiceProvider
{
/**
* This namespace is applied to the controller routes in your routes file.
*
* In addition, it is set as the URL generator's root namespace.
*
* @var string
*/
protected $namespace = 'App\Http\Controllers';
/**
* Define your route model bindings, pattern filters, etc.
* @return void
*/
public function boot()
{
parent::boot();
}
/**
* Define the routes for the application.
*
* @param \Illuminate\Routing\Router $router
* @return void
*/
public function map(Router $router)
{
$router->group(['namespace' => $this->namespace], function ($router) {
require base_path('routes/web.php');
require base_path('app/Http/routes.php');
});
}
}
app\Http\Kernel.php
<?php
namespace App\Http;
use Illuminate\Foundation\Http\Kernel as HttpKernel;
class Kernel extends HttpKernel
{
/**
* The application's global HTTP middleware stack.
*
* @var array
*/
protected $middleware = [
\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class,
\App\Http\Middleware\Locale::class,
\App\Http\Middleware\CacheBuilder::class,
\Spatie\Pjax\Middleware\FilterIfPjax::class,
];
/**
* The application's route middleware.
*
* @var array
*/
protected $routeMiddleware = [
'web' => [
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class,
\Illuminate\Routing\Middleware\SubstituteBindings::class,
],
'api' => [
'throttle:60,1',
'bindings',
],
'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,
'can' => \Illuminate\Auth\Middleware\Authorize::class,
'auth' => \App\Http\Middleware\Authenticate::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
'auth.only' => \App\Http\Middleware\LoggedInOnly::class,
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
'admin' => \App\Http\Middleware\Admin::class,
'blogger' => \App\Http\Middleware\Blogger::class,
'subscribed' => \App\Http\Middleware\SubscriptionMiddleware::class,
'cors' => \App\Http\Middleware\Cors::class,
'role' => \Zizaco\Entrust\Middleware\EntrustRole::class,
'permission' => \Zizaco\Entrust\Middleware\EntrustPermission::class,
'ability' => \Zizaco\Entrust\Middleware\EntrustAbility::class,
];
}
Если нужно что-то еще, выложу сразу.
Только подскажите, в чем проблема и как ее исправить! Уже просто изгуглил все, а решения не найду (((((
Итак, есть проект на Ларе 5.1. Поднять версию на вариант, т.к. уже много чего подвзяано именно под это и переделка скорее всего поломает кучу фич на уже живом проекте.
Версия Laravel: 5.1
Версия PHP: 7.1.1
Задача:
Необходимо утсановить Sleeping Owl 4
Что делаю:
1. Установил через composer require "laravelrus/sleepingowl":"4.*@dev"
2. config\app.php - перед
AppServiceProvider::class
прописано
SleepingOwl\Admin\Providers\SleepingOwlServiceProvider::class
3. При
php artisan sleepingowl:install
получаю ошибку в консоли
Invalid argument supplied for foreach()
Как можно побороть проблему или установить пакет?
Огромное спасибо!
Всем привет!
Нужно использовать для REST API OAuth. Подключил https://github.com/lucadegasperi/oauth2-server-laravel.
Токены генерирует прекрасно. Но как дать доступ ресурсов сервера с помощью этого ключа я так и не могу разобраться.
Посылаю на сервер запрос с заголовком Authorization: Bearer mySecretToken получаю в ответ 500ю ошибку: {"error":{"message":"Tried to access session data without an active access token","status_code":500}}
Помогите, пожалуйста, разобраться с этим вопросом. Очень актуально
Всех приветствую.
Очень срочный вопрос возник.
В Sleeping Owl вывожу в форму все, что надо. Нужно отследить данные, которые прилетают в модель для обработки. Можно ли как-то отследить что прилетает из формы в модель и как-то данные перехватить для обработки?
Или же просто отследить сам ивент сабмита по форме, то как?
Таки не работает постраничка. А может какой-то сторонний пакет для ларавела давать такую проблему?
Во вьюхе дампится аж бегом. Оно там массив объектов самих алертов. Конечно, я передал алерты туда.
А вообще в отношениях что-то явно не так.
Это значит отношение м2м
Те один алерт может относиться ко многим пользователям? Тогда поле viewed на самой модели Alert нерелевантно. Надо делать колонку viewed на связующей таблице alert_user
Именно, алерт относится ко многим юзерам (многие юзеры имеют алерт). В обеих талицах пока есть поле viewed.
Бьет такую ошибку:
SQLSTATE[23000]: Integrity constraint violation: 1052 Column 'viewed' in where clause is ambiguous (SQL: select `alerts`.*, `alert_user`.`user_id` as `pivot_user_id`, `alert_user`.`alert_id` as `pivot_alert_id` from `alerts` inner join `alert_user` on `alerts`.`id` = `alert_user`.`alert_id` where `alert_user`.`user_id` = 2 and `viewed` = 0)
Всем привет!
Нужна подсказка опытных.
Есть две модели Users и Alerts. Они связаны между собой пивотной таблицей alert_user.
Для каждого юзера достаю нужные алерты через
$alerts = User::find($user->id)->alerts;
У меня в таблице alerts есть поле viewed с булиновским значением. Как мнее достать для юзера алерты, которые со значением в таблице viewed == false?
Через
$alerts = User::find($user->id)->alerts;
$alerts = $alerts->where('viewed', false);
Я бы рекомендовал это прописать в новой команде для artisan и ее зафигачить через Schedule в кроне.
https://laravel.com/docs/5.2/artisan#writing-commands
https://laravel.com/docs/5.2/scheduling
Ложная тревога. Были проблемы с .env файлом.
Переустановил Убунту. Композер завелся. Теперь беда с тем, что не работает php artisan.
Дает ошибку
[RuntimeException]
No supported encrypter found. The cipher and / or key length are invalid.
Побороть можно?
а не вариант откатиться на 5.5.9 версию?
Не вариант, ибо 16.04 юзает исключительно РНР от 7й версии.
Я не пользователь linux но все же, может поможет переустановить композер:
cd ~
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
Обновился сегодня, в Ubuntu 16.04 можно установить через 'sudo apt-get install composer'.
Пробовал оба эти способа. Композер стал работать, обновлять пакеты и зависимости, но все равно сыплет какими-то ошибками и ворнингами.
Cheshirrski, у тебя работает без ошибок?