#15051From:Sergey Anohin
To:Sergey Anohin
Date:29-01-2019 13:18:11
Subj:Выжирает память и умирает
Hello, Sergey!

SA> *****://******.*****/1WnNG0MC
SA> этот скриптик запускается с консоли и делает перелинковку тредов (есть такой режим отображения сообщений в веб морде),
SA> однако на при обработке одной эхи, оно делает сабж. Вывод такой:
SA> # php ./relink.php CLASSIC_COMPUTER
SA> PHP Notice: Undefined index: REMOTE_ADDR in /usr/local/www/wfido/bin/relink.php on line 4
SA> CLASSIC_COMPUTER
SA> PHP Notice: Undefined index: recieved in /usr/local/www/wfido/bin/relink.php on line 145
SA> [далее все повторяется поскипано]
SA> Где подвох и как найти? Подозреваю в базе косяк какой-то?

на линии 145 вижу что по смыслу опечатка и наверно должно быть
if ($row->recieved > $thread_info['lastupdate']){
но сабж это не устраняет :(
что в таких случаях гуру делают?

С наилучшими пожеланиями, Sergey Anohin.

--- wfido
* Origin: Отправлено из ****://******.*****/wfido (2:5034/10.1)
SEEN-BY: 5020/715 1042 4441 5034/10 13 6090/1
PATH: 5034/10 13 5020/715 4441 1042 6090/1
#15052From:Oleg Redut
To:Sergey Anohin
Date:30-01-2019 08:50:29
Subj:Выжирает память и умирает
Доброе (current) время суток, Sergey!

SA>> Где подвох и как найти? Подозреваю в базе косяк какой-то?

SA> на линии 145 вижу что по смыслу опечатка и наверно должно быть
SA> if ($row->recieved > $thread_info['lastupdate']){
SA> но сабж это не устраняет :(
SA> что в таких случаях гуру делают?

Я делаю так, скажем строка 82:

$query="SELECT msgid,reply,subject,fromname,fromaddr,date,recieved,hash FROM `tmp` ORDER BY `recieved` LIMIT 1;";
$result2=mysqli_query($link, $query);
echo $query;


Потом копирую выведенную строку запроса и вбиваю в мускул. Смотрю, на что он будет ругаться. Это если подозрение на косяк базы.

Про выжирание памяти - поставить в цикл счётчик с выводом и смотреть на какой строке падает. Опять же не могу сказать, но кажется mysqli_fetch_object будет больше памяти съедать, чем mysqli_feth_row. Хотя же переменная постоянно обновляется,а не добавляются новые.

P.S.
PHP Notice: Undefined index: REMOTE_ADDR in

if ( isset($_SERVER["REMOTE_ADDR"])) {

Что я могу еще сказать?..
Oleg

... AKA oleg(&)redut.info AKA ICQ 28852595
--- GoldED+/W64-MSVC 1.1.5-b20180707 (пока работает)
* Origin: --- ...И все на наш редут... --- (2:5000/111)
SEEN-BY: 5000/111 5020/1042 6090/1
PATH: 5000/111 5020/1042 6090/1
#15053From:Sergey Anohin
To:Oleg Redut
Date:30-01-2019 10:40:19
Subj:Выжирает память и умирает
Hello, Oleg!

SA>>> Где подвох и как найти? Подозреваю в базе косяк какой-то?
SA>> на линии 145 вижу что по смыслу опечатка и наверно должно быть
SA>> if ($row->recieved > $thread_info['lastupdate']){
SA>> но сабж это не устраняет :(
SA>> что в таких случаях гуру делают?
OR> Я делаю так, скажем строка 82:
OR> $query="SELECT msgid,reply,subject,fromname,fromaddr,date,recieved,hash FROM `tmp` ORDER BY `recieved` LIMIT 1;";
OR> $result2=mysqli_query($link, $query);
OR> echo $query;
OR> Потом копирую выведенную строку запроса и вбиваю в мускул. Смотрю, на что он будет ругаться. Это если подозрение на косяк базы.
OR> Про выжирание памяти - поставить в цикл счётчик с выводом и смотреть на какой строке падает. Опять же не могу сказать, но кажется mysqli_fetch_object будет больше памяти съедать, чем mysqli_feth_row. Хотя же переменная постоянно обновляется,а не добавляются новые.

Дебаг SQL запроса помог, спасибо! Там два поля были некорректные в базе и был луп из-за этого.

OR> P.S.
OR> PHP Notice: Undefined index: REMOTE_ADDR in
OR> if ( isset($_SERVER["REMOTE_ADDR"])) {

Про isset уже вычитал вчера, много таких мелочей, буду фиксить потихоньку.


С наилучшими пожеланиями, Sergey Anohin.

--- wfido
* Origin: Отправлено из ****://******.*****/wfido (2:5034/10.1)
SEEN-BY: 5020/715 1042 4441 5034/10 13 6090/1
PATH: 5034/10 13 5020/715 4441 1042 6090/1
#15054From:Moderator of RU.PHP
To:All
Date:30-01-2019 16:03:28
Subj:Rules
Пpавила эхо-конфеpенции RU.PHP
18.01.2017

Если вы помещаете сообщение в данную эхоконференцию, это значит
вы автоматически соглашаетесь соблюдать данные правила и нести
ответственность за нарушения данных правил.

Тематика эхо-конфеpенции RU.PHP
===============================

Эта конференция посвящена обсуждению вопросов, связаных с
написанием программ на языке PHP и работой с базами данных SQL. Hе
исключается также обсуждение технических вопросов связанных с
различными сетевыми протоколами и стандартами.

В остальном эхоконференция RU.PHP соответствует общим правилам
конференций FidoNet и это значит, что их нужно соблюдать.

Разрешается гейтование эхоконференции в Интернет.

Hарушения и наказания
=====================

- Hеyважение к yчастникам конфеpенции, в т.ч. грубые/вульгарные выражения.
- Раздpажающее поведение в т.ч. наезды, оскорбления в любой форме.

К вышеуказанному относиться и пpименение нецензypных выpажений,
даже забитых чем-либо #$%@.

- Разговоpы на темы, не являющиеся темой конфеpенции, либо объявленные
модеpатоpом оффтопиком.
- Размещение uuencode без разрешения модератора.
- Пеpеписка с модеpатоpом в эхе, либо самовольное модеpиpование в эхе.
- Личная пеpеписка в эхоконфеpенции.

Модеpатоp имеет пpаво yжесточить или смягчить наказание по своемy
yсмотpению в зависимости от гpyбости наpyшения в любом диапазоне
[*/+/!]

Hаказания высылаются yзлy-наpyшителю нетмейлом с дyблиpованием в
эхе. За своего поинта или юзера отвечает его босс. Не подставляйте его.

Модеpатоp является yчастником эхоконфеpенции, в связи с этим
письма, где в поле %FROM стоит его имя, служебными не являются.

Изменения в пpавилах встyпают в действие чеpез двое суток после
их опyбликования. Глобальные изменения - через неделю.

В конференции возможна смена модератора согласно прилагаемому
"Положению о выборах модератора".

Модеpатоpом конференции RU.PHP является
Oleg Redut (2:5000/111)

Комодератор назначается и отменяется Модератором, в данный момент
никто на должность КоМодератора не назначен.


... AKA oleg(&)redut.info AKA ICQ 28852595
--- GoldED+/W64-MSVC 1.1.5-b20180707 (пока работает)
* Origin: --- ...И все на наш редут... --- (2:5000/111)
SEEN-BY: 5000/111 5020/1042 6090/1
PATH: 5000/111 5020/1042 6090/1
#15055From:Moderator of RU.PHP
To:All
Date:30-01-2019 16:04:16
Subj:Положение
Положение о выборах модератора
от 11.01.2011

1. Данное Положение является неизменным и действует постоянно пока
конференция находиться на региональном боне.

2. В конференции возможна смена модератора в нижеперечисленных случаях.

2.1. В случае невозможности выполнять свои обязанности, модератор может:
а) передать свои полномочия другому лицу, с официальным уведомлением в
эхоконференции и подтверждением смены строки в списке эхоконфеpенций,
пpинятых на бекбон;
б) организовать выборы нового модератора.

2.2. В случае отсутствия* модератора в конференции более трех месяцев:
а) полномочия переходят к очередному комодератору (согласно списка, при
наличии нескольких в Правилах конференции);
б) в случае отсутствия комодератора, либо отказа последнего из них
принять полномочия модератора, организуются выборы.

2.3. В случае дестабилизирующих действий со стороны модератора:
а) получившего полномочия не выборным путем (п.2.1а и п.2.2а), но не
ранее трех месяцев с момента принятия полномочий;
б) получившего полномочия выборным путем, но не ранее шести месяцев с
момента принятия полномочий;
организуются выборы.

3. Для организации выборов модератора участники конференции должны
обратиться с просьбой REC. При этом должно быть предварительное извещение
участников конференции, от лица, обратившегося к REC с этой просьбой.
REC, в свою очередь, должен сделать заявление об этом в конференции.
Также, при отсутствии просьбы от участников конференции, REC может
самостоятельно инициировать выборы, с учетом п.2.3, но не противореча п.2.2
и согласно данным Правилам.

4. Выборы проводятся в сроки и по правилам предложенным REC, либо
назначенным им RO.
4.1. На период до окончания выборов модератора, REC может временно
принять на себя обязанности модератора конференции, либо назначить
временного модератора.
4.2. Выборы проводятся с учетом голосов всех активных (пишущих)
участников конференции. Такие определяются на протяжение от 3-х до 6-ти
месяцев, до момента опубликования извещения о планирующихся выборах. Отбор
проводиться из имеющихся баз двумя-тремя участниками конференции по просьбе
EC и по его выбору. Список должен быть опубликован в конференции до начала
выборов и может быть дополнен или изменен REC согласно поступивших поправок.
4.3. Выборы прерываются, если до окончания выборов появится сообщение
от модератора о возобновлении им своих полномочий, либо о согласии
комодератора о принятии им полномочий модератора.
4.4. Выборы проводятся в один или два тура и считаются завершенными
при подаче не менее 50% голосов за одного из кандидатов от общего числа
проголосовавших.
4.5. Претендент, занявший второе место, может быть назначен
комодератором. Это назначение уже делается избранным модератором.
4.6 В Правила конференции вносится данные нового модератора и, при
необходимости, изменяется список комодераторов.

5. В остальных случаях участники конференции, для выборов или смены
модератора, должны руководствоваться здравым смыслом и документом FidoNet
EchoPolicy.

6. Положение должно публиковаться не менее одного раза в течение
трёх календарных месяцев.

* Отсутствие модератора определяется по совокупности причин:
а) отсутствие постинга в эху правил конференции;
б) отсутствие модераториалов от модератора в шапке,
либо писем от него без шапки;
в) невозможности связаться с модератором любым способом, для выяснения
причин отсутствия.

Что я могу еще сказать?..
Oleg

... AKA oleg(&)redut.info AKA ICQ 28852595
-+- GoldED+/W32-MSVC 1.1.5-b20161221 (пока работает)
+ Origin: --- ...И все на наш редут... --- (2:5000/111)
=============================================================================

... AKA oleg(&)redut.info AKA ICQ 28852595
--- GoldED+/W64-MSVC 1.1.5-b20180707 (пока работает)
* Origin: --- ...И все на наш редут... --- (2:5000/111)
SEEN-BY: 5000/111 5020/1042 6090/1
PATH: 5000/111 5020/1042 6090/1
#15056From:Vladislav Vetrov
To:All
Date:15-02-2019 11:28:25
Subj:Laravel
Всем привет!

По сабжу есть спецы? Hужно создать API, который бы работал одновременно для мобильных и web-клиентов. В Laravel это возможно или нужно взять за основу что-то другое?


Vladislav

... -= - <<< - >>> - =-
--- GoldED+/LNX 1.1.5-b20170303 by ASA
* Origin: Love all, trust a few, do wrong to none (2:5020/2140.152)
SEEN-BY: 5020/1042 2140 6090/1
PATH: 5020/2140 1042 6090/1
#15057From:Anton Poletayev
To:Vladislav Vetrov
Date:17-02-2019 02:20:13
Subj:Laravel
Здpавствуй, Vladislav!

Пятница 15 Февраля 2019 11:28, ты писал(а) All, в сообщении по ссылке area://ru.php?msgid=2:5020/2140.152@Fidonet.org+5c667881:

VV> По сабжу есть спецы?

Да

VV> Hужно создать API, который бы работал
VV> одновременно для мобильных и web-клиентов. В Laravel это возможно или
VV> нужно взять за основу что-то другое?

Да, без проблем.

С уважением - Anton
--- -
* Origin: RooDZ!Soft Labs. (2:5015/61)
SEEN-BY: 5015/46 61 5020/1042 6090/1
PATH: 5015/61 46 5020/1042 6090/1
#15058From:Vladislav Vetrov
To:Anton Poletayev
Date:17-02-2019 23:52:23
Subj:Laravel
Hello Anton!

17 фев 19 02:20, you wrote to me:

VV>> По сабжу есть спецы?
AP>
AP> Да
AP>
VV>> Hужно создать API, который бы работал
VV>> одновременно для мобильных и web-клиентов. В Laravel это возможно или
VV>> нужно взять за основу что-то другое?
AP>
AP> Да, без проблем.

Расскажи плиз в трёх-четырёх предложениях, как это правильно сделать?

Vladislav

... -= - <<< - >>> - =-
--- GoldED+/LNX 1.1.5-b20170303 by ASA
* Origin: Love all, trust a few, do wrong to none (2:5020/2140.152)
SEEN-BY: 5020/1042 2140 6090/1
PATH: 5020/2140 1042 6090/1
#15059From:Anton Poletayev
To:Vladislav Vetrov
Date:19-02-2019 10:18:19
Subj:Laravel
Здpавствуй, Vladislav!

Воскресенье 17 Февраля 2019 23:52, ты писал(а) мне, в сообщении по ссылке area://ru.php?msgid=2:5020/2140.152@Fidonet.org+5c69c9ce:

VV>>> Hужно создать API, который бы работал
VV>>> одновременно для мобильных и web-клиентов. В Laravel это
VV>>> возможно или нужно взять за основу что-то другое?
VV> Расскажи плиз в трёх-четырёх предложениях, как это правильно сделать?

Всё зависит от того, что у тебя на другой стороне и что оно будет хотеть от api,
в плане аутентификации и свойств самого api (REST или GraphQL)

В классических случаях достаточно официального пакета Laravel Passport для аутентификации и REST схемы.

--- -
* Origin: RooDZ!Soft Labs. (2:5015/61)
SEEN-BY: 5015/46 61 5020/1042 6090/1
PATH: 5015/61 46 5020/1042 6090/1
#15060From:Vladislav Vetrov
To:Anton Poletayev
Date:19-02-2019 12:12:22
Subj:Laravel
Hello Anton!

19 фев 19 10:18, you wrote to me:

VV>>>> Hужно создать API, который бы работал
VV>>>> одновременно для мобильных и web-клиентов. В Laravel это
VV>>>> возможно или нужно взять за основу что-то другое?
VV>> Расскажи плиз в трёх-четырёх предложениях, как это правильно сделать?
AP>
AP> Всё зависит от того, что у тебя на другой стороне и что оно будет хотеть от
AP> api, в плане аутентификации и свойств самого api (REST или GraphQL)
AP>
AP> В классических случаях достаточно официального пакета Laravel Passport для
AP> аутентификации и REST схемы.

А как заставить web-клиентов работать через тот же REST-механизм, а не через свои внутренние схемы взаимодействия с БД?

Vladislav

... -= - <<< - >>> - =-
--- GoldED+/LNX 1.1.5-b20170303 by ASA
* Origin: Love all, trust a few, do wrong to none (2:5020/2140.152)
SEEN-BY: 5020/1042 2140 6090/1
PATH: 5020/2140 1042 6090/1
Выделенный сервер за 149 руб!