我用delphi写了一个小www服务器,想支持PHPPHP的问题 1我是用delphi写了一个小的www服务器引擎,然后将客户的提交的数据和页面 提交给 php.exe去执行(以类似这样的形式执行并返回: c:\php\php.exe c:\www\index.php id=10005&s=asekelkrl ),然后将php.exe 返回的数据交还给客户,完成整个操作。可是 php.exe 中的 类似 $HTTP_COOKIE_VARS['name'] 形式的变量我无法传达,导致使用类似变量的地方无法取值……  有什么方法可以让php.exe 获取这些变量么 (还有$HTTP_SERVER_VARS $_GET 等……)听说 这些变量是由 www服务器创建的,我的程序作为 www服务器自然要创建,如何创建呢?类似 $HTTP_COOKIE_VARS['name'] 
(还有 $HTTP_SERVER_VARS $_GET 等……)我知道 $HTTP_COOKIE_VARS 是个数组, 哪位高人能告诉我 它的组成形式么?
至少 我可以通过类似
c:\php\php.exe c:\www\index.php id=1234……&HTTP_COOKIE_VARS=name:yaplei■pass:123456的形式 传给 php.exe。(■ 代表 换行符之类的东西……)谢谢!谢谢拉……问题 2以 enctype="multipart/form-data" 方式提交的表单…… 格式与普通提交完全不同……普通格式是  123.php?id=123&pp=kkk但是 以enctype="multipart/form-data"方式提交的表单(如下 数据示例:)格式完全不同…… 怎么处理?php.exe 有没有 命令行的形式进行处理? 难道……让我一点点喂给它……  是在没办法……这个也算是一种办法了…… 55555555数据示例:c:\php\php.exe C:\~MYdephi\http_svr\www/macwdb/wdb/wdbpost.php "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, */*","Referer: http://127.0.0.1/macwdb/wdb/wdbpost.php?forumid=1","Accept-Language: zh-cn","Content-Type: multipart/form-data; boundary=---------------------------7d32863120062a","Accept-Encoding: gzip, deflate","User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)","Host: 127.0.0.1","Content-Length: 1056","Connection: Keep-Alive","Cache-Control: no-cache","Cookie: lastvisit_fr=1062903948; lastvisit=1062903948; s=cabb1659f731b608330d3d7cfae0adef",-----------------------------7d32863120062a
Content-Disposition: form-data; name="font"
-----------------------------7d32863120062a
Content-Disposition: form-data; name="articletitle"test
-----------------------------7d32863120062a
Content-Disposition: form-data; name="articledes"
-----------------------------7d32863120062a
Content-Disposition: form-data; name="usesignature"checkbox
-----------------------------7d32863120062a
Content-Disposition: form-data; name="autourl"yes
-----------------------------7d32863120062a
Content-Disposition: form-data; name="articlecontent"test
-----------------------------7d32863120062a
Content-Disposition: form-data; name="helpmode"2
-----------------------------7d32863120062a
Content-Disposition: form-data; name="step"2
-----------------------------7d32863120062a
Content-Disposition: form-data; name="action"new
-----------------------------7d32863120062a
Content-Disposition: form-data; name="forumid"1
-----------------------------7d32863120062a--
&s=cabb1659f731b608330d3d7cfae0adef&lastvisit=1062903948&lastvisit_fr=1062903948

解决方案 »

  1.   

    不是有个DLL的ISAPI么?你用那看看。具体资料看看Apache的源代码
      

  2.   

    Eastunfail(浴血雏龙)==(恶鱼杀手) 大哥~您详细讲讲行么~~  新开贴送您 500分 我也愿意啊~~  谢谢啊 谢谢!! 我是新手 菜鸟~
      

  3.   

    PHP的目录下面不是有个sapi目录么?你上网查查那个目录里面的DLL的接口信息(就在PHP的源代码里面可以找)以及使用方法(去下载Apache的源代码看看).我也不太懂,帮你UP一下
      

  4.   

    另外你通过调用PHP.EXE的方法来处理PHP请求的方法效率不高,互动性不强,占用较大资源(傳說中的CGI).所以强烈建议你按照我上面写的方法使用DLL来处理PHP请求
      

  5.   

    建议使用Indy结构了
    Indy有个第三方组件idRunner components
    就是Indy上支持ISAPI和CGI和PHP CGI的,提供Open的Source可以参考使用你的Web服务使用Indy做的就好了,可以直接用Indy是Delphi下比较好的网络组件By LY http://lysoft.7u7.net
      

  6.   

    Eastunfail(浴血雏龙)==(恶鱼杀手)  ly_liuyang(Liu Yang) 两位大哥~~~ 跪谢了~~~  有详细的资料和文档么!~! 贴点代码上来或者给个 网址连接 也可以啊~~~谢谢呀谢谢~
      

  7.   

    哪里有 php 的源码?  我去 www.php.net 下载 没下到....appache 的原码好象下到了
      

  8.   

    http://www.php.net/get/php-3.0.18.tar.gz/from/a/mirror只找到了3.0的代码................
      

  9.   

    如何 使用DLL来处理PHP请求??delphi 有这方面的文档 原程序 以及网址么~ 给个看看吧 谢谢~
      

  10.   

    http://cn.php.net/get/php-4.3.3.tar.gz/from/a/mirror
    这个是 4.3.3 的源代码么? ly_liuyang(Liu Yang) 大哥,idRunner components 从哪里可以找到啊~?
      

  11.   

    谢谢Eastunfail(浴血雏龙)==(恶鱼杀手) ly_liuyang(Liu Yang) 二位大哥…… 问题解决了……