На момент написания моего текущего комментария я ничего не знал о потоках PHP. Я сам пришел искать здесь ответ, но один обходной путь заключается в том, что программа PHP, которая получает запрос от веб-сервера, делегирует всю формулировку ответа консольному приложению, которое сохраняет свой вывод, ответ на запрос, в двоичный файл. а программа PHP, запустившая консольное приложение, побайтно возвращает этот двоичный файл в качестве ответа на полученный запрос. Консольное приложение может быть написано на любом языке программирования, который работает на сервере, включая те, которые имеют надлежащую поддержку потоковой передачи, включая программы C ++, использующие OpenMP.
Один ненадежный, грязный трюк - использовать PHP для выполнения консольного приложения uname,
uname -a
и распечатайте вывод этой консольной команды в вывод HTML, чтобы узнать точную версию серверного программного обеспечения. Затем установите ту же версию программного обеспечения в экземпляр VirtualBox, скомпилируйте / соберите любые полностью автономные, предпочтительно статические двоичные файлы, которые вам нужны, и затем загрузите их на сервер. С этого момента приложение PHP может использовать эти двоичные файлы в роли консольного приложения, которое имеет правильную многопоточность. Это грязный, ненадежный обходной путь в ситуации, когда администратор сервера не установил на сервере все необходимые реализации языка программирования. Следует обратить внимание на то, что при каждом запросе, который приложение PHP получает, консольное приложение (я) завершает работу / exit / get_killed.
Что касается того, что администраторы хостинга думают о таких моделях использования серверов, я полагаю, что это связано с культурой. В Северной Европе поставщик услуг ДОЛЖЕН ПРЕДОСТАВЛЯТЬ ТО, ЧТО БЫЛО ОБЪЯВЛЕНО, и если было разрешено выполнение консольных команд и разрешена загрузка файлов, не связанных с вредоносными программами, и поставщик услуг имеет право убить любой серверный процесс через несколько минут или даже через 30 секунд. , то у администраторов хостинга нет никаких аргументов для формирования надлежащей жалобы. В Соединенных Штатах и Западной Европе ситуация / культура сильно различаются, и я считаю, что есть большая вероятность, что в США и / или Западной Европе поставщик услуг хостинга откажется обслуживать клиентов, использующих описанный выше трюк. Это только мое предположение, учитывая мой личный опыт работы с услугами хостинга в США и то, что я слышал от других о западноевропейских услугах хостинга. На момент написания моего текущего комментария (2018_09_01) я ничего не знал о культурных нормах южно-европейских хостинг-провайдеров и администраторов южно-европейских сетей.
person
Martin Vahi
schedule
01.09.2018