c针对不同的os生成不一样的机器码java利用vm屏蔽底层即os差异php呢为什么能实现跨平台,另外其在windows和linux下运行性能差异到底有多大

解决方案 »

  1.   

    php 实现的是脚本级跨平台php 解析系统是开源的,可以在任何系统任何web服务器中实现无缝对接
      

  2.   

    应该是apache也有部分功劳吧.
      

  3.   

    本帖最后由 xuzuning 于 2010-05-08 10:13:14 编辑
      

  4.   

    一个语言跨平台和运行服务器有什么关系 php也在IIS上运行 难道还和apache有关
      

  5.   

    asp依赖MS平台的东西太多了,即使asp是脚本语言,而脚本解析器也是依赖MS平台的!UNIX上可以运行MS平台的COM组件?显然是不可能的!就和Delphi\VB等脱离了MS环境一样!
    而PHP这种解析器不依赖平台<独立的>,且开源。并可以对任何系统做一个适配,故可以跨平台
      

  6.   

    个人也感觉与WEB服务器关系不大!
    在IIS运行主要是向ISAPI筛选器中加一个能解析PHP的DLL而已
      

  7.   

    拿asp与jsp来说.asp是依赖ms的组件在运行,jsp是依赖jvm的组件在运行.但是jsp的跨平台通过jvm实现.可以说他们各自还是有各自的依赖.只是角度的问题. php的跨平台我个人觉得是他的简单.与不依赖性.就像一个男人只要有一个女人就能生孩子。
      

  8.   

    php的跨平台是指针对不同平台均编译出目标平台的二进制码(PHP解释器).是一种原生的跨平台.当然他的库也是采用平台无关的代码写成的.特殊的库比如支持Win的Com模块就不可能放到Linux下去做.这种类型的跨平台是运行最高效维护最费力的方式.比如gcc也是这样,apache区别就更大了.Web Server对Socket的模型很依赖,Linux和Win的Socket IO区别比较大,所以这种一次编写,到处编译的跨平台模式只是在各个平台中名字一样,内部的二进制内容是完全不一样的.
      

  9.   

    针对PHP是解释器的这样一个特殊性,他所暴露出的Interface,也就是他的PHP语法在各个平台是一样的.也就是很好的封装了接口,做到了与实现无关性.这也就使phper造成了错觉.其实WinPHP和LinuxPHP是完全不同的二套软件,只不过共享了前端接口(PHP语法).
      

  10.   

    php开始是运行于linux的。 在windows下支持也很好。 
      

  11.   

    想跨平台ASP也可以,但是没有人这么搞。理论上什么语言的都可以跨平台的。但是需要在操作系统之上构建运行环境。
      

  12.   

    asp是IIS解析的。而php是php解析器解析的,php解析器跨平台,php也就跨平台了