CakePHP';未加载调试包资产

CakePHP';未加载调试包资产,cakephp,plugins,url-rewriting,Cakephp,Plugins,Url Rewriting,现在我知道已经有了一个解决方案,我可以将这些资产复制到自己的webroot项目中。而且可能会在一点时间内做到这一点但是 我真的想知道为什么我一直受到这个问题的困扰。我在浏览AssetDispatcher代码,并在其中放置了一些CakeLog::write()语句,当我调用页面时,只调用了一次dispatcher。是否应该为请求的每个资产调用它?除了我可以查看的这个类之外,还有其他处理资产分派的文件吗 我刚刚安装了cakephp 2.5.5和DebugKit 2.2.4 我遵循了如何加载插件的说明

现在我知道已经有了一个解决方案,我可以将这些资产复制到自己的webroot项目中。而且可能会在一点时间内做到这一点但是

我真的想知道为什么我一直受到这个问题的困扰。我在浏览AssetDispatcher代码,并在其中放置了一些CakeLog::write()语句,当我调用页面时,只调用了一次dispatcher。是否应该为请求的每个资产调用它?除了我可以查看的这个类之外,还有其他处理资产分派的文件吗

我刚刚安装了cakephp 2.5.5和DebugKit 2.2.4

我遵循了如何加载插件的说明,事实上php代码看到了插件并尝试加载它。它只是没有被正确显示,因为它在插件中找不到css和js

我做了一些搜索,发现了一些东西,说明加载插件的顺序和使用bootstrap.php文件的调度程序的顺序在这里很重要。我在这里使用一个新安装的cakephp,这个订单已经存在了。DebugKit被加载,然后是dispatchers

大多数情况下,我需要一些帮助来调试调度器,因为这似乎就是问题所在。以前从未接触过这些。cakebook提供了关于如何编写自己的代码的一般信息,但我对这里的生命周期更感兴趣

或者更像是我把它弄得太复杂了,这里有一个更容易的方法来解决这个问题。欢迎提供任何信息

我在下面的DebugKit的初始设置中包含了相关代码,以防我遗漏了一些简单的东西或忽略了我认为我已经做过的事情

app/Config/bootstrap.php

CakePlugin::load( 'DebugKit' );
Configure::write('Dispatcher.filters', array(
    'AssetDispatcher',
    'CacheDispatcher'
));
app/Controller/AppController.php

$components = array( 'DebugKit.Toolbar' );
app/View/Layout/default.ctp 文件的底部

                        <p>
                            <?php echo $cakeVersion; ?>
                        </p>
                </div>
        </div>
</body>
</html>

这些是cake自己生成的URL

以下是您要遵循的步骤:

  • 安装CakePHP并检查安装情况

  • 下载与Cake 2.4兼容的最新DebugKit 2.2.1

  • 将内容复制到cake/plugins/DebugKit文件夹

  • 调用
    CakePlugin::load('DebugKit')在app/Config/bootstrap.php中

  • CakePlugin::load( 'DebugKit' );
    Configure::write('Dispatcher.filters', array(
        'AssetDispatcher',
        'CacheDispatcher'
    ));
    
  • 通过调用
    public$components=array('DebugKit.toolbar')包含工具栏组件

  • $components = array( 'DebugKit.Toolbar' );
    
  • 设置
    Configure::write('debug',1)在app/Config/core.php中

  • 从app/View/Layouts/default.ctp中的我的布局中删除“sql_dump”元素

  • 复制app/Plugin/DebugKit/webroot/in-app/webroot/debug_-kit的所有内容(文件夹“css”、“js”、“img”)/


  • 我以前升级到最新的CakePHP时也遇到过同样的问题。我通过在bootstrap.php中添加以下代码来解决此问题:

    Configure::write('Dispatcher.filters', array(
        'AssetDispatcher',
        'CacheDispatcher'
    ));
    

    升级到最新版本时,还需要检查index.php和htaccess文件中是否有更改。

    路径是否正确。URL重写在一般情况下有效吗?访问这些URL时返回什么?