如何在我自己编写的服务器中支持PHP预定义函数/变量

时间:2015-12-08 14:01:08

标签: php server predefined-variables

我目前正在使用C ++为Posix系统编写自己的服务器。在有人说我应该如何真正使用预建服务器之前,请注意我确实使用预构建服务器来处理与业务相关的任何事情。这个项目完全是一种学习经历。

我希望这个系统支持服务器端脚本以及静态托管。当我尝试包含对最重要的服务器端脚本语言的支持时,我遇到了一个问题:PHP。

标准PHP提供了几个predefined variables,可以访问有关传入请求的信息。它还提供标准HTTP functions,以特定方式与请求交互。此外,应该可以分别使用文件名php://inputphp://output来对请求和响应主体执行IO操作,以引用适当的套接字和权限。

我知道我能够定义所有这些变量并在包装器脚本的顶部自己实现所有这些函数,然后使用include在相同的上下文中运行用户的脚本,但这似乎很麻烦。我也不知道如何将php://inputphp://output映射到实际请求套接字的文件描述符。

我对PHP解释器了解不多。有没有办法向PHP解释器提供必要的请求数据(用户代理,INET地址,方法,URI,版本,标题,套接字文件描述符,也许我忘记了),以便能够访问本机这些变量和函数的定义和实现?或者服务器作者自己定义和实现这些是标准做法吗?

最重要的是,如果我必须自己实现这些内容,如何将php://inputphp://output映射到正确的文件描述符和权限?

感谢大家。任何帮助表示赞赏。

0 个答案:

没有答案