Re: Как в php (модуль апача) осуществляется вывод в браузер?
От: LuciferSaratov Россия  
Дата: 31.10.20 14:50
Оценка: +1
Здравствуйте, Sm0ke, Вы писали:

S>Привет. Потихоньку пишу на c++ интерпретатор своего скриптового языка ksi . Вывод на экран произвожу через std::wcout . В будущем планируется прикрутка к апачу для работы с web. Придётся ли мне переделывать функции вывода в этом случае? Как с этим обстоит дело в php? Его исходники лежат в открытом доступе, но они очень большие и мне не разобраться там.


для начала можешь реализовать поддержку CGI , будет работать в любом настоящем веб-сервере.
потом можно сделать модули для апача и нгинкса: https://httpd.apache.org/docs/2.4/developer/modguide.html , https://www.evanmiller.org/nginx-modules-guide.html
Как в php (модуль апача) осуществляется вывод в браузер?
От: Sm0ke Россия ksi
Дата: 31.10.20 14:42
Оценка:
Привет. Потихоньку пишу на c++ интерпретатор своего скриптового языка ksi . Вывод на экран произвожу через std::wcout . В будущем планируется прикрутка к апачу для работы с web. Придётся ли мне переделывать функции вывода в этом случае? Как с этим обстоит дело в php? Его исходники лежат в открытом доступе, но они очень большие и мне не разобраться там.
интерпретатор php скрипт динамическаятипизация
Re[2]: Как в php (модуль апача) осуществляется вывод в браузер?
От: Sm0ke Россия ksi
Дата: 01.11.20 00:05
Оценка:
Здравствуйте, LuciferSaratov, Вы писали:

LS>Здравствуйте, Sm0ke, Вы писали:


S>>Привет. Потихоньку пишу на c++ интерпретатор своего скриптового языка ksi . Вывод на экран произвожу через std::wcout . В будущем планируется прикрутка к апачу для работы с web. Придётся ли мне переделывать функции вывода в этом случае? Как с этим обстоит дело в php? Его исходники лежат в открытом доступе, но они очень большие и мне не разобраться там.


LS>для начала можешь реализовать поддержку CGI , будет работать в любом настоящем веб-сервере.

LS>потом можно сделать модули для апача и нгинкса: https://httpd.apache.org/docs/2.4/developer/modguide.html , https://www.evanmiller.org/nginx-modules-guide.html

Спасибо за ответ. Идея с CGI мне не почему-то нравится.
Посмотрел вашу ссылку по апачу и увидел, что вывод там производится через специальные функции. Да, мне придётся весь вывод в проекте теперь переделывать. Кроме того я работаю с wchar_t, а апачу нужен char. Это значит, что надо перекодировать при выводе строк каждый раз. Это потеря производительности... Неужели придётся делать CGI?
Re[3]: Как в php (модуль апача) осуществляется вывод в браузер?
От: LuciferSaratov Россия  
Дата: 01.11.20 08:15
Оценка:
Здравствуйте, Sm0ke, Вы писали:

S>Спасибо за ответ. Идея с CGI мне не почему-то нравится.


CGI это самое простое, что можно реализовать и получить нормальную поддержку работы в веб-серверах.

S>Посмотрел вашу ссылку по апачу и увидел, что вывод там производится через специальные функции. Да, мне придётся весь вывод в проекте теперь переделывать. Кроме того я работаю с wchar_t, а апачу нужен char. Это значит, что надо перекодировать при выводе строк каждый раз. Это потеря производительности... Неужели придётся делать CGI?


могу ошибаться, но де-факто в вебе стандартом является UTF-8, поэтому перекодировать в любом случае придётся (и в случае с CGI тоже).
Re[2]: Как в php (модуль апача) осуществляется вывод в браузер?
От: Sm0ke Россия ksi
Дата: 01.11.20 13:07
Оценка:
Здравствуйте, LuciferSaratov, Вы писали:

LS>для начала можешь реализовать поддержку CGI , будет работать в любом настоящем веб-сервере.

LS>потом можно сделать модули для апача и нгинкса: https://httpd.apache.org/docs/2.4/developer/modguide.html , https://www.evanmiller.org/nginx-modules-guide.html

Не нашёл информацию по форматной строке для функции ap_rprintf Она что как у printf или нет?
Re[2]: Как в php (модуль апача) осуществляется вывод в браузер?
От: Sm0ke Россия ksi
Дата: 01.11.20 14:50
Оценка:
Здравствуйте, LuciferSaratov, Вы писали:

LS>Здравствуйте, Sm0ke, Вы писали:


S>>Привет. Потихоньку пишу на c++ интерпретатор своего скриптового языка ksi . Вывод на экран произвожу через std::wcout . В будущем планируется прикрутка к апачу для работы с web. Придётся ли мне переделывать функции вывода в этом случае? Как с этим обстоит дело в php? Его исходники лежат в открытом доступе, но они очень большие и мне не разобраться там.


LS>для начала можешь реализовать поддержку CGI , будет работать в любом настоящем веб-сервере.

LS>потом можно сделать модули для апача и нгинкса: https://httpd.apache.org/docs/2.4/developer/modguide.html , https://www.evanmiller.org/nginx-modules-guide.html

Я тут подумал, самое простое, что можно сделать — это отнаследоваться от std::wstreambuf и определить там вывод в апач через его апи. Далее заменить буфер в std::wcout через rdbuf() . Значит по большому счёту вывод во всей остальной программе менять не надо (и это хорошо).
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.