PHP文件内会通过“include”等指令加入其他PHP文件。我个人觉得,PHP的解释器的运行方法是:执行PHP代码的同时,如果遇到include或者require语句,就把那个引用的PHP文件的代码都载入,然后执行这些新加入的代码,之后再回到原来的父文件继续执行。其实是这样不呢?谁能给具体说说不。PHP不能像JSP和.NET那样编译一次生成二进制文件,但是PHP本身有没有啥缓存代码的机制,来加速解释执行的过程?我的意思是缓存代码逻辑,不是缓存静态html页面。谢了~

解决方案 »

  1.   

    1、你的理解是正确的
    2、php 能一次生成伪编译的二进制文件,比如 zend
    php 也有缓存代码的机制,比如 eAccelerator 扩展你能想到的,先人们都想到了
    只要能做到,先人们都做到了
    接下来就看你的了
      

  2.   

    谢谢楼上。先姑且不说扩展的(eAccelerator )。你的意思是Zend引擎本身的机制就包含把PHP文件编译生成二进制文件?那么这些文件的扩展名是什么,在哪个文件夹下能找到?
      

  3.   

    php会将脚本预编译为opcode,这个在内存里进行,不会保存到文件。使用eAcc等加速器的原理就是将opcode缓存起来,下次执行时不再重复预编译过程。