Aisamiery

Aisamiery
Рейтинг
319
Регистрация
12.04.2015
ArbNet #:
А тут создают ещё одну ВМ

Кто создает? Зачем создаёт? Это точно такой же код, просто архитектура и парадигма другая. Там тот же PHP используется, только не для того чтобы хмл парсить, а чтобы эффективно обрабатывать запросы от пользователя

Brand from Amber :

Может кто-нибудь подскажет, в каком направлении копать, чтобы вылечить эти ошибки не сильно меняя логику работы скрипта?

Заранее спасибо.


Не передавать по ссылке а вернуть результат

public function prepareNewPath($url) 
{
    // this is your code ...
    return $url;
}

// call
public function newPage($url, $template)
{
    $url = $this->prepareNewPath($url);
}
ArbNet #:
ЗЫ. Возможно вы не понимаете чем моё лучше вашего, а я не понимаю чем ваше лучше моего 😁

Не возможно, а абсолютно точно, и главную мысль я выделил

ArbNet #:
Это может сделать только служба которая прослушивает порты принимает запросы и отвечает.

Служба это термин винды, в остальном мире это демон, программа работающая в фоне

ArbNet #:
Запуск PHP из консоли, в виртуальной машине или где ещё не обеспечит серверную работу

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

ArbNet #:
О чём вообще речь вести если люди не знают, что такое порты и как их используют.

Расскажите мне свою версию, очень интересно (на самом деле нет). А то слушать можно не только порты, но и сокеты и в вашем определение это уже не сервер, хотя если все таки вдуматься, то сервер - это программный компонент,  выполняющий сервисные (обслуживающие) функции по запросу клиента, предоставляя ему доступ к определённым ресурсам или услугам. В википедии написано достаточно неплохо определение.

ArbNet #:
ЗЫ. После релиза мой инструмент будет самым лучшим среди существующих, по крайней мере для меня, на котором я смогу реализовать всё то что хочу и как хочу.

С этого и надо было начинать, так как "своё г не пахнет" =))

В саппорт писать не пробовали? У меня все доступны виртуалки
timo-71 #:
То что вам словами упорно пытался объяснить  Aisamiery   попытаюсь примером.

Пример к сожалению сильно сложный для его понимания =) Человек php ни разу не запускал с консоли, он не знает что такое режим демона, для него php это OpenServer или вообще какой нибудь Denver, вот он и думает что php работает на сервере, скорее всего он подразумевает что php это mod_php для апача, потому что даже php-fpm это уже FastCGI реализация 

ArbNet #:
То есть вы хотите на VPS установить виртуальную машину и настроить PHP как демона. С этого и надо было начинать. 

Точно программист? Есть понятие виртуальной машиныВиртуальная машина исполняет некоторый машинно-независимый код (например, байт-код, шитый код, p-код) или машинный код реального процессора. То есть, чтобы вам писать всегда на одном языке не зависимо от процессора и операционной системы, вам нужна некая прослойка между вашим кодом и собственно процессором, эту роль выполняет виртуальная машина, в том числе это и JVM у Java,  CLR у си шарпа и так далее. Вот ваш код транслируется в опкод (байт код для виртуальной машины) и потом уже исполняется на виртуальной машине php. Никуда её устанавливать не надо, она является частью PHP, так сказать Zend Engine.

ArbNet #:
Опять же это частное решение и то по моему неудачное

Вы же понимаете, что ваше мнение ничего не стоит, так как вы никто по сути в мире разработки?

ArbNet #:
С этого и надо было начинать

А вам бы начать с азов, чтоб мы друг друга понимали и мне не приходилось писать на несколько страниц объяснений элементарных вещей

ArbNet #:
PHP не подходит для создания на нём сервера, так как это просто интерпретатор который сам работает на сервере.

Так погодите, чем интерпритатор то не угодил? Даже некоторые процессоры являются интерпритаторами, это просто термин, который обозначает что анализ и выполнение идет во время чтение, а не заранее, если вы уже считали то разницы нет, интерпритатируемый язык хуже компилированного только на этапе старта (прогрева), под капотом там все тоже самое. На каком сервере работает PHP, у хостера что ли на сервере, что за чушь вы несете? Почитайте чуть глубже погрузитесь в инструменты https://habr.com/ru/company/badoo/blog/327068/ узнаете что такое виртуальная машина PHP и как там все под капотом работает.

ArbNet #:
это тогда надо настраивать конфигурацию чтобы так было

Именно это и делает эта либа =)) 6 секунд на установку и настройку, выше уже показали

ArbNet #:

Интерпретатор - это программа в которой заложены механизмы обработки команд какого либо языка программирования.

Компилятор - исходный код языка программирования преобразует в машинный код.

Давайте воспользуемся википедией?

Интерпрета́тор (англ. interpreter ıntə:'prıtə[1], от лат. interpretator - толкователь[2]) — программа (разновидность транслятора), выполняющая интерпретацию[3].

Интерпрета́ция — построчный анализ, обработка и выполнение исходного кода программы или запроса (в отличие от компиляции, где весь текст программы, перед запуском, анализируется и транслируется в машинный или байт-код, без её выполнения)

Любой код переводится в машинный или байт-код для VM, php не исключение. Когда код уже проанализировался (был переведен в байт код), он уже не отличается от скомпилированной программы по сути, по этому разницы как таковой вы не заметите, в нашем рассматриваемом случае, когда вы запускаете/стартуете код php в виде демона, вы его как бы компилируете в байт-код который висит в памяти.

ArbNet #:
Если PHP создан чтобы умереть

Именно этот недостаток убирают такие библиотеки

ArbNet #:
Зачем городить этот огород когда можно просто PHP обрабатывать запросы

Еще раз объясняю, давайте представим что подключение к БД у вас занимает 1 секунду, тогда каждый ваш запрос будет работать   >1 секунды, если же вы подключитесь только один раз во время старта сервера, то все запросы уже эту секунду тратить не будут, так понятнее?

ArbNet #:
но это проще разработать модуль для PHP который при получении запросов уже имел инициализованные данные

Кому проще, какой модуль, где вы его будете хранить? С диска что ли читать? Память между процессами разделять? Как состояние вы будете передавать между запросами? Вы вообще понимаете как это все внутри работает или лишь бы сморозить какую нибудь фигню?

ArbNet #:
Чем на самом же PHP писать "сервер"

Чем вам PHP то не угодил? И почему для вас сервер является чем то необычным, это обычный демон который на вход получает параметры, на выход отдает текст, примитивнейшая программа просто,  которая сейчас реализуется  несколькими строками кода на любом языке, где есть библиотека работы с сетью.

Всего: 4110