通信增值业务 发表于 2014-12-12 17:58:52

thinkphp如何修改或取消runtime

每次改点东西都要删runtime很麻烦,能不能去掉这个缓存机制,具体步骤是如何啊,网上找了点东东没看明白,
还有 每一个app下都有一个runtime 如何统一去掉呢?

项目编译缓存文件~app.php?通常包含了下面的一些文件:项目配置文件(由惯例配置、项目配置合?
并而成)、项目公共函数文件?common.php。每个项目还可以单独添加自己的项目编译文件列表,只需?
要在项目配置目录下面定义?app.php?文件,返回需要额外添加到项目编译缓存的文件列表数组即可。?
注意在调试模式下面不会生成项目编译缓存,但是依然会生成核心缓存。如果不希望生成核心缓存?
文件的话,可以在项目入口文件里面设置?NO_CACHE_RUNTIME,例如:?
define('NO_CACHE_RUNTIME',True)〓?
以及设置对编译缓存的内容是否进行去空白和注释,例如:?
define('STRIP_RUNTIME_SPACE',false)〓?
则生成的编译缓存文件是没有经过去注释和空白的,仅仅是把文件合并到一起,这样的好处是便于?
调试的错误定位,建议部署模式的时候把上面的设置为?True 或者删除该定义。?

这个文档是加密的,复制出来很不好看,我是用邮箱转化的,有点乱码,你先看看吧。
从tp的官方网站上能下载到我说的那个pdf,下载下来看看吧,比较有用。

在thinkphp核心包里面的ThinkPHP.php有以下代码:

PHP code
?

1
2
3
4
5
6
7
8
9
10
11
    $runtime = defined('THINK_MODE')?'~'.strtolower(THINK_MODE).'_runtime.php':'~runtime.php';
    if(is_file(RUNTIME_PATH.$runtime)) {
      // 加载框架核心编译缓存
      require RUNTIME_PATH.$runtime;
    }else{
      // 加载编译函数文件
      require THINK_PATH."/Common/runtime.php";
      // 生成核心编译~runtime缓存
      build_runtime();
    }





只要runtime文件存在就行 也没有开关。所以得自己改代码了。
把判断语句去掉就是了。

PHP code
?

1
2
3
4
5
6
7
    $runtime = defined('THINK_MODE')?'~'.strtolower(THINK_MODE).'_runtime.php':'~runtime.php';
       // 加载编译函数文件
      require THINK_PATH."/Common/runtime.php";
      // 生成核心编译~runtime缓存
      build_runtime();
   




页: [1]
查看完整版本: thinkphp如何修改或取消runtime