Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Сохранение отметки есть в бд
public function handle($request, Closure $next)
{
if (Auth::check()) {
$expiresAt = Carbon::now()->addMinutes(1); // keep online for 1 min
Cache::put('user-is-online-' . Auth::user()->id, true, $expiresAt);
// last seen
User::where('id', Auth::user()->id)->update(['last_seen' => (new \DateTime())->format("Y-m-d H:i:s")]);
}
return $next($request);
}
}
В моделе вот что у меня прописано 1 минута
А в еонтроллере более глубже написанно что по минутам часам и лням месяцам и году
Он счииает сколько человека не было онлайн в бд такде есть запись Ласт син.
Можете подсказать как написать это?
Добрый день.Создал Статусы пользователей онлайн и офлайн.Но проблема в том что не знаю как написать чтобы чистился кэш пользователей. В папке сохраняется кэш пользователей. И после удаления кэша онлайн сменяется на офлаййн как написать программу кэш для статуса.
Логику хочу такую написать - когда пользователь выходит с сайта - то чиститься кэш статус -офлайн.
Мой код.
Профиль пользователя.
@if(Cache::has('user-online' . $user->id))
<span class="text-green-500">Online</span>
<style> .text-green-500{
color: yellowgreen;}</style>
@else
<span class="text-gray-500">Offline</span>
@endif
</td>
<td>
@if($user->last_seen != null)
{{\Carbon\Carbon::parse($user->last_seen)->diffForHumans() }}
@else
No data
@endif
</td>
Кнопка Логаута. Выход.
<a href="{{ url('/logout') }}"
onclick="event.preventDefault();
document.getElementById('logout-form').submit();">
Logout
</a>
<form id="logout-form" action="{{ url('/logout') }}" method="POST" style="display: none;">
{{ csrf_field() }}
</form>
вот что написала поддержка.
Здравствуйте! Ошибка вида: "502 Bad Gateway nginx/1.12.1", напрямую указывает на недоступность сервиса apache. Причины его недоступности, вам были описаны ранее. С нашей стороны рекомендуем проверить легитимность поступающих запросов к сайту, например, за текущие сутки к сайту поступило 301137 запросов с 1029 различных ip адресов. Наибольшее количество обращений поступало с ip адресов(список вида "количество обращений" "ip адрес"): 14448 92.127.232.168 11213 46.61.27.5 10764 46.39.229.4 9544 80.83.225.27 6045 46.133.13.199 6029 93.124.42.51 5477 188.0.188.173 5242 176.226.219.190 5204 188.162.228.73 5069 83.220.239.173 4700 178.90.225.252 4698 87.249.205.168 4644 188.170.72.200 4513 46.0.64.56 C ip адреса, с наибольшим количеством обращений к сайту(92.127.232.168) поступали запросы к следующим страницам: 6864 /ajax/get_drop 6848 /ajax/get_drop_m 262 / 238 /contests 162 /uploads/sb.png 9 /case/4 8 /case/2 6 /case/1 6 /bonus 5 /sounds/win.wav 3 /user/8319 2 /user/540 2 /user/17427 Стоит учесть, что периодически, от данного пользователя поступало до 4 обращений в секунду, пример запросов: 92.127.232.168 - - [20/Oct/2017:04:37:18 +0100] "GET /ajax/get_drop_m HTTP/1.0" 200 1738 "http://cash-game.ru/contests" "Mozilla/5.0 (Linux; Android 7.1.2; LGE Nexus 5 Build/_BuildID_) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Mobile Safari/537.36" 92.127.232.168 - - [20/Oct/2017:04:37:18 +0100] "GET /contests HTTP/1.0" 200 7554 "http://cash-game.ru/contests" "Mozilla/5.0 (Linux; Android 7.1.2; LGE Nexus 5 Build/_BuildID_) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Mobile Safari/537.36" 92.127.232.168 - - [20/Oct/2017:04:37:18 +0100] "GET /ajax/get_drop HTTP/1.0" 200 1738 "http://cash-game.ru/contests" "Mozilla/5.0 (Linux; Android 7.1.2; LGE Nexus 5 Build/_BuildID_) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Mobile Safari/537.36" 92.127.232.168 - - [20/Oct/2017:04:37:18 +0100] "GET /contests HTTP/1.0" 200 7562 "http://cash-game.ru/contests" "Mozilla/5.0 (Linux; Android 7.1.2; LGE Nexus 5 Build/_BuildID_) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Mobile Safari/537.36" 92.127.232.168 - - [20/Oct/2017:04:37:18 +0100] "GET /contests HTTP/1.0" 200 7556 "http://cash-game.ru/contests" "Mozilla/5.0 (Linux; Android 7.1.2; LGE Nexus 5 Build/_BuildID_) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Mobile Safari/537.36"
Судя по информации whois данного ip адреса, он принадлежит: inetnum: 92.127.192.0 - 92.127.255.255 netname: WEBSTREAM descr: OJSC "Sibirtelecom" remarks: Novosibirsk Local Telephone Company (NGTS) $ host 92.127.232.168 168.232.127.92.in-addr.arpa domain name pointer ws.92.127.232.168.nsk.sibirtelecom.ru.
С нашей стороны отсутствует информация об алгоритмах работы вашего сайта, возможно данные обращения легитимны, вам необходимо проверить данную информацию. Также обращаем ваше внимание, что мы привели пример анализа лога доступа, только для ip адреса с наибольшим количеством обращений.
Перед тем как сайт ложится возникает
1 ошибка Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator at webmaster@cash-game.ru to inform them of the time this error occurred, and the actions you performed just before this error. More information about this error may be available in the server error log. Apache/2.4.7 (Ubuntu) Server at cash-game.ru Port 80
2 Ошибка: 502 Bad Gateway nginx/1.12.1
Запутался. Это у клиента так реализовонно а не у меня
[Fri Oct 20 16:22:34.158609 2017] [mpm_prefork:notice] [pid 1119] AH00163: Apache/2.4.7 (Ubuntu) mpm-itk/2.4.6-01 OpenSSL/1.0.1f configured — resuming normal operations
[Fri Oct 20 16:22:34.158632 2017] [core:notice] [pid 1119] AH00094: Command line: '/usr/sbin/apache2
ошибки апатч лога
Добрый день прошу помощи. Используем на сайте сервер. В опредеённое время апатч аварийно выключается и сайт ложится. Не могу понять. веб сервер оперативка 2 гига. Снизу прекрепил тест. Что сервер менять? если менять то какой брать?
https://printscreens.ru/Siu8Z - скриншот теста веб сервера
Добрый День не могу разобраться с перенаправлением после того как выходишь из приложения. В данном случае это logout. Хочу сделать так что бы человек после выхода из приложения возвращался не на стартовую страницу - а в login. Пробывал менять роуты, после чего меня перенаправляло в логин где я уже зашёл. Кто подскажет как сделать так что бы после выхода из приложения переноправляло на форму логина.
web.php
// Логин и Выход.
$this->get('login', 'Auth\LoginController@showLoginForm')->name('login');
$this->post('login', 'Auth\LoginController@login');
$this->post('logout', 'Auth\LoginController@logout')->name('logout');
сама форма
<ul class="dropdown-menu" role="menu">
<li>
<a href="{{ url('/logout') }}"
onclick="event.preventDefault();
document.getElementById('logout-form').submit();">
Logout
</a><form id="logout-form" action="{{ url('/logout') }}"
method="POST"style="display: none;">
{{ csrf_field() }}
</form>
LoginController
public function __construct()
{
$this->middleware('guest', ['except' => 'logout']);
}
}
AlexeyMezenin Спасибо большое у меня всё заработало ,когда ввёл return '/id'.auth()->id();
Видимо неправильно синтаксировал писал обычно так - Auth::user()->id надо было просто немного исправить.Спасибо что не оставили в беде.
Ошибка обычно такая.
ErrorException in RegisterController.php line 32: Undefined variable: user а с логином работает(
Версия 5.3 Лары
AlexeyMezenin пробывал по разному не получается(( С логина редиректит а регистрации нет.
Всем Добрый День. Смог в Логине переопредилить редирект со странице home на id пользователя. Но в регестрации не получается переопределить Редирект на другой Роут. Прошу помощи , пытался разными способами в том числе и в RedirectIfAuthenticated.php. Но зато редиект с логина работает.
LoginController.php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;class LoginController extends Controller
{
/*
|--------------------------------------------------------------------------
| Login Controller
|--------------------------------------------------------------------------
|
| This controller handles authenticating users for the application and
| redirecting them to your home screen. The controller uses a trait
| to conveniently provide its functionality to your applications.
|
*/use AuthenticatesUsers;
/**
* Where to redirect users after login.
*
* @var string
*///protected $redirectTo = '/id';//.Auth::user()->id;
/**
* Create a new controller instance.
*
* @return void
*/
public function redirectTo(){
return '/home';//.//Auth::user()->id;
//die(print_r(Auth::user()));
}
public function authenticated($request,$user)
{
return redirect('/id' . $user->id);
}
public function __construct()
{
$this->middleware('guest', ['except' => 'logout']);
}
}
RegisterController.php
namespace App\Http\Controllers\Auth;
use App\User;
use Validator;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\RegistersUsers;
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
class RegisterController extends Controller
{
/*
|--------------------------------------------------------------------------
| Register Controller
|--------------------------------------------------------------------------
|
| This controller handles the registration of new users as well as their
| validation and creation. By default this controller uses a trait to
| provide this functionality without requiring any additional code.
|
*/use RegistersUsers;
/**
* Where to redirect users after registration.
*
* @var string
*/
public function redirectTo(){
return '/id{id}', 'ProfilesController@index');//.//Auth::user()->id;
//die(print_r(Auth::user()));
}
public function RegistersUsers($request,$user)
{
return redirect('/id' . $user->id);
}/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest');
}/**
* Get a validator for an incoming registration request.
*
* @param array $data
* @return \Illuminate\Contracts\Validation\Validator
*/
protected function validator(array $data)
{
return Validator::make($data, [
'name' => 'required|max:255|unique:users',
'email' => 'required|email|max:255|unique:users',
'password' => 'required|min:6|confirmed',
'gender' => 'required|string',
]);
}/**
* Create a new user instance after a valid registration.
*
* @param array $data
* @return User
*/
protected function create(array $data)
{
if($data['gender'])
{
$avatar = 'public/defaults/avatars/male.jpg';
}
else
{
$avatar = 'public/defaults/avatars/female.png';
}
return User::create([
'name' => $data['name'],
'email' => $data['email'],
'gender' => $data['gender'],
'password' => bcrypt($data['password']),
'slug' => str_slug($data['name']),
'avatar' => $avatar
]);
Profile::create(['user_id' => $user->id ]);
return $user;
}
}
RedirectIfAuthenticated.php
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Support\Facades\Auth;class RedirectIfAuthenticated
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @param string|null $guard
* @return mixed
*/
public function handle($request, Closure $next, $guard = null)
{
if (Auth::check()) {
return redirect()->action('ProfilesController@index', Auth::user()->id);
}
return $next($request);
}
/* public function handle($request, Closure $next, $guard = null)
{
if (Auth::guard($guard)->check()) {
return redirect('/id'.Auth::user()->id);
}return $next($request);
}*/
}
Всё полностью разобрался) Всем спасибо а что получается можно несколько подгрузить шаблонов ошибок?
Блин без маршрута не работает.
Всё спасибо большое всё работает
Я сделал в контроллере не знаю правильно нет? Вобщем всё работает.
web.php
Route::get('/503', function () {
return view('errors.503');
});
Profiles Controllers.
if(!$user){
$user = new \stdClass();
return response()->view('errors.503', [], 503);
Не Совсем то что мне нужно.
Всем Добрый День. Не могу разораться. Хочу прописать глобальный Роут на 404 ошибку на profiles.id. Если пользователь не авторезирован то его не существует, то отобразить ошибку 404 pages в id (такого профиля или юзера не существует
Web.php
Route::group(['middleware' =>
'auth'], function(){
$param_regex = ['id' => '(\d+)'];
Route::get('/id{id}', 'ProfilesController@index')->name('profile')->where($param_regex);Profiles.Controller
if(!$user){
$user = new \stdClass();
$user->error = 'User was not found';
}
$owner = Auth::user();
return view('profiles.profile', ['user' => $user,'users' => $users, 'owner' => $owner ]);
}
Данный код работает если вбить в браузер строку любой id не зарегистрированного пользователя ,то покажет - 'User was not found';
Но нужно прописать глобальный Роут 404pages. Кто знает как можно сделать? С ошибкой я сделал на время.
Добрый Вечер. Хочу спросить у продвинутых людей, как повысить производительность при загрузки сервера. Фикча такая - есть в фреймворке папка Vendor - она со всеми файлами весит 33мб. И меня это если честно немного напрягает что куча различных подключений. Какие есть способы повысить производительность при включении сервера? Например я тестировал Phalcom там скорость быстрее, но я уже написал логики в ларавель и привык к синтаксису. Но что если у меня будет по 2 тысячи оферов? грузиться а запросы будут повторяться. Как можно улучшить быстродействие. Заранее спасибо.
Спасибо я во всём разобрался.
Ок спасибо большое пошёл читать ORM