我正在写一个小型的Web服务器,没什么特别的,我基本上只是希望能够显示一些文件。我想使用PHP,我想知道如果只是把PHP代码放在html里面就好了,或者我是否需要实际使用某种类型的PHP库?
http://www.adp-gmbh.ch/win/misc/webserver.html
我刚刚下载了这个,我将使用它来解决这个问题。基本上我正在编写一个服务器端游戏插件,允许游戏服务器所有者访问其服务器的Web控制面板。 PHP可以实现一些功能,所以这是我的目标。任何帮助将不胜感激,谢谢!
答案 0 :(得分:2)
PHP不会自己服务。在像Apache这样的Web服务器中发生的事情是在向用户提供PHP之前,它通过PHP解析器传递。 PHP解析器根据配置读取,理解和执行(或甚至)标签之间的任何内容。结果输出(通常仍为HTML)由Web服务器提供。
有很多方法可以实现这一目标。处理PHP的模块由Apache编写,但您不必使用它们。从windows.php.net安装的Windows上的PHP.exe将为您执行此操作。给定一个PHP文件作为参数,它将解析PHP并将结果吐出标准输出。
因此,您可以选择从Web服务器中启动PHP.exe,并将重定向标准输出发送到您的程序,并提供结果。
如何使用重定向IO创建子进程:http://msdn.microsoft.com/en-us/library/ms682499%28VS.85%29.aspx但是,您将不会编写子进程,那将是PHP.exe
警告:我不确定从安全/生产使用的角度来看这是否是最安全的方法,但它会起作用。
答案 1 :(得分:1)
PHP需要由PHP运行时处理。我假设您正在谈论的案例是您有一个C ++服务器来回答HTTP查询,并且您希望在回复客户端时使用HTML编写PHP代码。
我不知道任何通用的PHP库。最直接的解决方案是可能将PHP用作CGI程序。
以下是可能对此有用的链接:http://osdir.com/ml/php-general/2009-06/msg00473.html
这个方法很好,因为你不需要先将HTML + PHP写入文件;你可以将它流式传输到PHP。
答案 2 :(得分:1)
您需要执行PHP页面来为其生成的页面提供服务。
最简单的方法是以某种基本形式向您的网络服务器添加CGI支持。这不是一件容易的事,但并不太难。基本上你需要传递PHP环境和输入,并检索输出。
一旦获得CGI支持,您就可以使用任何可执行文件(包括PHP)来生成网页。