Yii-如何使Yii重新发布到资产文件夹

Yii-如何使Yii重新发布到资产文件夹,yii,assets,Yii,Assets,我的问题 在我的开发机器上,应用程序所需的JQuery文件位于assets文件夹下的子文件夹中。但是,当我将应用程序复制到测试服务器时,我查找的文件夹中缺少JQuery文件。我不断收到诸如“../assets/db0e5a94/jquery.ba bbq.js”404找不到等错误 我清空了资产文件夹,现在我所有的CSS文件等都报告丢失了。有没有办法让Yii重新发布到资产文件夹 谢谢 收回资产的一个简单方法是手动将它们从framework目录中复制回来。我知道这不是最好的方法,但它应该可以帮助您找

我的问题

在我的开发机器上,应用程序所需的JQuery文件位于assets文件夹下的子文件夹中。但是,当我将应用程序复制到测试服务器时,我查找的文件夹中缺少JQuery文件。我不断收到诸如“../assets/db0e5a94/jquery.ba bbq.js”404找不到等错误

我清空了资产文件夹,现在我所有的CSS文件等都报告丢失了。有没有办法让Yii重新发布到资产文件夹


谢谢

收回资产的一个简单方法是手动将它们从
framework
目录中复制回来。我知道这不是最好的方法,但它应该可以帮助您找到更好的解决方案。

只需删除资产文件夹中的所有子目录并清除浏览器缓存即可。不要删除资产目录,否则您将不得不再次设置写入权限。

请您的托管服务提供商在php.ini中禁用安全模式。然后删除asstes目录及其子文件和文件夹,然后再次创建它。确保为刚创建的新目录将CHMOD设置为0777。

我也遇到了同样的问题。将相应的文件上载到服务器后,我将服务器中的文件权限更改为755。然后它工作了。

组件/Controller.php中添加以下函数:

protected function beforeAction($action){
    if(defined('YII_DEBUG') && YII_DEBUG){
        Yii::app()->assetManager->forceCopy = true;
    }
    return parent::beforeAction($action);
}

尝试删除资产文件夹的内容。我会重新发布的我试过了-不起作用。它会重新发布一些文件,而不是需要的其他文件。请检查您的资产文件夹权限(或日志文件中的一些错误)。也许我没有权限将文件写入此文件夹?并给出如何在项目中使用css文件的代码(注册CClientScript或只是在html部分插入链接?@ARV:问题是由生成“过时”的内容引起的进入
assets/
的路径。你需要找到它是什么。@briiC.lv Yii确实编写了一些文件,但不是全部。此外,我正在使用CClientScript插入CSS文件,但甚至Zii小部件插入的文件都丢失了。我不想这样做,因为文件夹名称不同。Yii的正确做法是什么问题是这样的!问得好。我也遇到了同样的问题,我用自己的方式解决了,但我完全同意这不是正确的方式。对于Yii2,这可以通过配置完成,请参见我的答案: