Page 14 of 14
Re: Небольшие баги
Posted: Tue Apr 19, 2022 7:39 am
by ivlad
согласен, что такой риск тоже существует...
да, намного проще, когда у тебя немного сайтов: 1.. 10... вот когда уже больше 100, то возникает необходимость максимально упростить...
и предполагается, что выполнение кода одного (контролируемого) и другого (неконтролируемого) происходит на одном и том же сервере, в одной и той же среде...
по сути, нет никакой разницы, как будет вызван скрипт, но есть не очевидные нюансы, с которыми мы и столкнулись
разгадка уже рядом)
Re: Небольшие баги
Posted: Tue Apr 19, 2022 7:54 am
by admin
поясните плз как именно максимально просто сейчас сделано что б понять чем этот вариант будет сложен когда будет условно 100 сайтов
Re: Небольшие баги
Posted: Tue Apr 19, 2022 8:24 am
by ivlad
Я сознательно избегаю параллелей с другими трейд-скриптами (мол, там работает), т.к. проблема конкретно со Смартом и я на данном форуме пытаюсь найти решение конкретно для Смарта.
Все-таки не хочется терять время на споры и доказательства, т.к. у каждого свое видение и условия...
На данный момент вопрос всего один: мы можем общими усилиями победить ошибку при инклюде аута смарта?
ivlad wrote: Tue Apr 19, 2022 6:15 am
Warning: count(): Parameter must be an array or an object that implements Countable in /full_path/domain.com/scj/cgi/out.php on line 1241
- вот я уже приводил конкретный варнинг, который как раз напрямую относится к данной проблеме.
Re: Небольшие баги
Posted: Tue Apr 19, 2022 8:27 am
by ivlad
admin wrote: Tue Apr 19, 2022 7:54 am
поясните плз как именно максимально просто сейчас сделано что б понять чем этот вариант будет сложен когда будет условно 100 сайтов
Простой пример: есть работающая сетка, примерно 1000 сайтов - есть желание перенести с другого трейд-скрипта на смарт.
Что бы по вашей схеме перевести, нужно тысячи замен в одном только конфиге виртуалхостов nginx (добавить реврайт на аут), затем добавить вторую точку входа для учета аута (тут вообще далеко все не просто).
В моем же варианте, я просто в конфиге переключаю на смарт и аут работает, т.к. весь функционал прописан в 1 месте, с 1 точкой входа.
Re: Небольшие баги
Posted: Tue Apr 19, 2022 8:34 am
by admin
при чем тут споры и док-ва
я спросил как конкретно сделано что б предложить какой-то вариант как проще решить эту проблему
но не вопрос, давайте делать как вы хотите
варнинг пофиксил в апе
что я могу сделать дальше?
Re: Небольшие баги
Posted: Tue Apr 19, 2022 8:56 am
by ivlad
спасибо!
я так понимаю, вы добавили проверку на isset() или что-то вроде того...
была гипотеза:
Суперглобальная переменная, например, измененная так:
$_SERVER['QUERY_STRING']="...";
если вызывать ее через функцию:
getenv('QUERY_STRING');
не будет найдена, даже если устанавливать ее через:
putenv('QUERY_STRING=...');
т.к. "Если PHP запущен в SAPI, например как Fast CGI, эта функция будет возвращать значения переменных окружения установленных SAPI, даже если вы использовали putenv() для установки локальной переменной с таким же именем. Используйте параметр local_only для получения установленных локально переменных."
- это верно, но не это является причиной, т.к. в моем случае include не из функции работает.
было бы отлично, если бы вы дали намек, что было в 1241 строке?

Re: Небольшие баги
Posted: Tue Apr 19, 2022 9:37 am
by admin
if (!isset($trade_config['quality_outlist'])
конкретно строка
Re: Небольшие баги
Posted: Tue Apr 19, 2022 9:42 am
by ivlad
ок, т.е. не подгрузился некий массив...
я уже близко... reverse engineering в деле)
оказывается, в моем случае php не возврает глобальные переменные через get_defined_vars(), если конечный скрипт был вызван через функцию...
Re: Небольшие баги
Posted: Tue Apr 19, 2022 9:54 am
by admin
что-то мне подсказывает что 1 раз расписать как именно настроено и подумать как сделать прощу было бы быстрее чем заниматься всем этим методом тыка .. но продолжаю дейстовать как вы говорите ...