
Dmitriy
12.04.2017
16:17:34
он уже тут

Юрий
12.04.2017
16:44:18
https://m.habrahabr.ru/post/326284/
Очень крутая статья на вечер рабочего дня)

johan_krs
12.04.2017
16:51:02
странная статья. юмор, но с высоким порогом входа походу.

Google

F01134H
12.04.2017
16:52:16
норм порог входа там)
просто стеб над жсерами

Юрий
12.04.2017
16:53:39
Потому что только среди них дрочево на них вижу
Еще тейлор фанат

FindYanot
12.04.2017
18:05:54
Доброго вечера, подскажите либу для авторизации пользователя через вк.

Vladimir
12.04.2017
18:08:46
https://github.com/laravel/socialite
К нему есть адаптер и для вк

Neo
12.04.2017
21:56:29
Ребят, по ларавелу нубский вопрос, но всё же. Между 5.2 и 5.4 есть разница в прописывании роутов?

F01134H
12.04.2017
21:59:11
вроде нет

Neo
12.04.2017
22:22:06
Я просто смотрю - раньше юзал что-то типа
Route::post('/api/json', 'LogController@putLog');
сейчас в документации пишут про
$router->group(['middleware' => 'csrf'], function($router)
там в 5.3 роутинг разделился на web и api, из-за этого разница?

Google

Neo
12.04.2017
22:28:47
я что-то точно путаю

Dmitriy
12.04.2017
22:51:11

Denis
13.04.2017
06:12:44
народ, подскажите пожалуйста в чем ошибка?
Вот таблица users
в общем решил вопрос
забыл unsigned()
прошу прощения


Anatoly
13.04.2017
08:31:01
Господа, прошу помощи.
Laravel 4.2
Имеется ситуация:
\DB::beginTransaction();
$product = new Product();
$product->fill($data);
$product->save();
\DB::commit();
При вызове save() срабатывает событие created, при котором в свою очередь происходит постановка задачи в очередь на обработку данных в фоне (передаётся ID). От этого иногда (примерно 20%) возникает ситуация, когда воркер пытается найти запись по ID, но т.к. транзакция ещё не закоммичена, найти он ничего не может.
Есть Issue на эту тему на гитхабе, но оно закрыто https://github.com/laravel/framework/issues/8627
Может быть есть какие-то воркэраунды для такой ситуации? У меня уже есть один вариант решения на уме, но он мне не особо нравится: репетативный поиск внутри воркера пока запись не появится. Использовать блокировки на уровне БД тоже не хочется.
Таких ситуаций в проекте штук 10-20, поэтому хотелось бы найти комплексное рабочее решение


Mx
13.04.2017
08:35:51
происходит постановка задачи в очередь
а нельзя больший таумаут поставить?
Queue::later(
таймаут*

Anatoly
13.04.2017
08:39:03

i
13.04.2017
08:39:50
можно вместо created реагировать на событие которое после комита будет запускаться

Anatoly
13.04.2017
08:43:53
можно вместо created реагировать на событие которое после комита будет запускаться
У DB есть событие commited, но:
Если есть вложенные транзакции, оно срабатывает при вызове commit() у каждой из них, а данные "появляются" только при коммите последней. Возможен вариант с commited + проверка на transactionLevel, что тянет за собой одноразовый бинд на событие commited внутри created в случае если transactionLevel > 0. Слишком сложно)))

Mx
13.04.2017
08:44:30
имеется ввиду наверное кастомный эвент всё-таки?

i
13.04.2017
08:44:48
да

Mx
13.04.2017
08:45:10
выглядит как идеальное решение

Anatoly
13.04.2017
08:45:13
И каждый раз его вручную вызывать? Зачем тогда события использовать, можно просто enqueue вызвать)

Google

Mx
13.04.2017
08:52:52
enqueue имеется ввиду просто вызов нужного кода после коммита?

Anatoly
13.04.2017
08:54:07
Да

Mx
13.04.2017
08:54:26
ну имхо использовать в данном случае событие правильней. Врядли это единственный обработчик на создания продукта будет. Просто момент связанный с организацией кода скорее
ну и гибче

Anatoly
13.04.2017
08:55:24
Ладно, спасибо, подумаю ещё

Mx
13.04.2017
08:56:54
если есть вариант и с транзакцией и без кастомное событие не будет как раз удобнее? Да его надо каждый раз триггерить, но зато подписка одна
в общем да надо уже тут выбирать исходя из контекста

Evgeny
13.04.2017
13:05:05
товарищи, может кто помочь с nginx?
nginx рвет коннект если в роуте присутствует строка 'phpmyadmin', неважно вызываю я phpmyadmin.css.php или phpmyadmin.css
phpmyadmin висит отедельным виртуальным хостом, в правилах я такого обрыва не прописывал

johan_krs
13.04.2017
13:16:36
Конфиги давай
Порча на тебе вижу..

johan_krs
13.04.2017
13:17:20
Логам нужно доверять
Иначе не узнаешь истины

Evgeny
13.04.2017
13:21:13
server {
listen 80;
server_name собтвенной_персоной;
charset utf-8;
# Расположение логов
access_log /var/log/nginx/pma/access.log combined;
error_log /var/log/nginx/pma/error.log;
root /usr/share/phpmyadmin;
index index.php index.html index.htm;
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
access_log off;
log_not_found off;
expires 1M;
}
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
proxy_read_timeout 61;
fastcgi_read_timeout 61;
try_files $uri $uri/ =404;
fastcgi_pass 127.0.0.1:9001;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
а в логах нет ничего по этому запросу. как будто до nginx и не дошел

johan_krs
13.04.2017
13:23:31
Аксесс лог тоже пуст?

Evgeny
13.04.2017
13:24:32
не пуст но запросов нужных нет
я прям вживую смотрел через tail -f

johan_krs
13.04.2017
13:25:53
Апач еще есть

Google

johan_krs
13.04.2017
13:26:15
На апач же проксируешь?

Evgeny
13.04.2017
13:26:35
нивкоем случае

johan_krs
13.04.2017
13:26:53
Сервер нейм "собственной персоной"? Ыы

Evgeny
13.04.2017
13:27:51
=)

johan_krs
13.04.2017
13:27:52
Это конфиг пщпмайадмин. А конфиг сайта?
Который редирект бросает

Evgeny
13.04.2017
13:28:40
он жирный, и там тоже все стандартно

Admin
ERROR: S client not available

Evgeny
13.04.2017
13:29:22
хотя вариант их поотключать попробовать

johan_krs
13.04.2017
13:29:43
Сервернейм кирилический разве так указывать нужно?

Evgeny
13.04.2017
13:30:34
там нормальный сервернэйм, это тут кирилица

johan_krs
13.04.2017
13:30:44
Ясн
Ну вообще нжинкс сначала проверяет все правила server на соответствие сервернейм. Если таковых нет - использует то что описано для дефолтного сервернейма
Возможно в нем у тебя перехваты pma
Sites-enabled/default обычно

Evgeny
13.04.2017
13:35:18
pma то нормально отвечает: статика идет fpm идет
а вот роут в котором phpmyadmin валится
причем неважно, это phpmyadmin.css.php или phpmyadmin.css или phpmyadmin.txt

johan_krs
13.04.2017
13:37:14
Если валитса то и в логах должно быть

Google

Evgeny
13.04.2017
13:37:26
а вот нету

johan_krs
13.04.2017
13:37:28
Начинай всю цепочку проверять
Нджинкс->то что у тебя пшп выполняет->ларавель
Вполне возможно что ты не те логи смотришь

Evgeny
13.04.2017
13:39:15
ок, буду дальше копать. спасибо

Gendalf
13.04.2017
13:59:01
это nginx

Evgeny
13.04.2017
14:01:38
переадресация могла в браузере запомниться. curl https://mysite.ru -I что говорит?

Gendalf
13.04.2017
14:04:09
спасибо)

Neo
13.04.2017
17:01:31
Ребят, поясните за pivot tables. У меня классический случай, где отношение many-to-many.
Типа как на картинке.
Там не нужно даже под неё создавать модель отдельно, верно?
Т.е. достаточно описать взаимные связи в моделях todolists и categories:
public function categories()
{
return $this->belongsToMany('App\Category')
->withTimestamps();
}
и
public function todolists()
{
return $this->belongsToMany('App\Todolist')
->withTimestamps();
}
Этого достаточно?

F01134H
13.04.2017
17:48:21
так точно

Neo
13.04.2017
19:22:31
Чёт не пойму с firstOrNew
$service = LogEntry::firstOrNew(
array('user_name' => 'Bibi'));
Если находит пользователя с первым именем Bibi, то всё норм. Если изменим на Bibi2 (которого нет и он должен по идее создать модель) - выводит ошибку:
т.е. скрипт просто не может создать запись? При этом нормально отрабатывают такие вещи:
$logEntry = new LogEntry();
$logEntry->user_id = '77777777';
$logEntry->save();