Как поддерживать предопределенные функции / переменные PHP на сервере, который я написал сам

В настоящее время я пишу свой собственный сервер на C ++ для систем Posix. Прежде чем кто-либо скажет о том, как на самом деле мне следует использовать готовый сервер, имейте в виду, что я использую готовые серверы для всего, что связано с бизнесом. Этот проект является полностью учебным опытом.

Я хотел бы, чтобы эта система поддерживала скрипты на стороне сервера, а также статический хостинг. Я сталкиваюсь с проблемой, когда пытаюсь включить поддержку самого важного языка сценариев на стороне сервера: PHP.

Стандартный PHP предоставляет несколько предопределенные переменные которые дают доступ к информации о входящем запросе. Это также обеспечивает стандарт Функции HTTP которые взаимодействуют с запросом определенным образом. Кроме того, предполагается, что можно выполнять операции ввода-вывода над телами запросов и ответов, используя имена файлов php://input а также php://output соответственно для ссылки на соответствующий сокет и разрешения.

Я знаю, что смогу определить все эти переменные и сам реализовать все эти функции в верхней части скрипта-оболочки, а затем использовать include запустить скрипт пользователя в том же контексте, но это кажется громоздким. Я также не знаю, как отобразить php://input или же php://output к дескриптору файла фактического сокета запроса.

Я не очень разбираюсь в интерпретаторах PHP. Есть ли способ предоставить необходимые данные запроса (пользовательский агент, адрес INET, метод, URI, версия, заголовки, дескриптор файла сокета и, возможно, то, что я забыл) интерпретатору PHP, чтобы иметь возможность доступа к собственным определениям и реализации этих переменных и функций? Или это стандартная практика для автора сервера определять и реализовывать их самостоятельно?

Самое главное, если мне нужно реализовать эти вещи самостоятельно, как мне отобразить php://input а также php://output правильный дескриптор файла и разрешения?

Спасибо всем. Любая помощь приветствуется.

3

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]