我很难使用资产来在我的视图中加载资源(我使用Symfony2)。 我正在使用Linux(Ubuntu 10.4)并在几天前切换到Windows 7。我一直遇到麻烦(例如有些图片没有加载),但至少大多数图片,以及所有样式和脚本都正常加载。
当我切换到Windows时,某些资源未加载,因此我尝试了php app/console assets:install web --symlink
我很惊讶地发现它删除了我正在处理的捆绑包的整个公共文件夹。并且没有办法再找到这些来源(幸运的是,我已经保存了其中的一些,并且由于缓存的文件,我能够检索我的大部分工作)。
在我恢复文件(并备份它们)之后,我再次尝试命令。结果相同。我尝试没有--symlink
,它在web/bundle
文件夹中创建了一些文件夹,而不是以前的文件(据说是符号链接)。
现在该命令甚至不再回答(即使在我的一些备份文件夹中,它也一直在删除我的来源!!)。
结论:有没有办法在Windows 7上配置资产,以便它不会占用我的文件并正确加载资源(包括css中的图像)?
提前致谢!
编辑:
我刚刚再次运行该命令,这次它有效(复制了web / bundle / ...中的文件)。我必须说我真的不明白这次是如何或为什么有效...如果有人知道......
答案 0 :(得分:24)
要在PC上运行assets:install web --symlink
,您需要elevated command prompt(管理员模式下cmd.exe
的奇特单词)。
答案 1 :(得分:4)
Symfony2使用PHP symlink功能,根据它应该适用于Windows Vista,Server 2008或更高版本的文档。
默认情况下only Administrators can create symlinks in Windows。因此,您必须使用提升的提示或为您的用户提供 SeCreateSymbolicLinkPrivilege权限。
答案 2 :(得分:1)
你可以使用Windows控制台,但Git Bash更好。获取并下载。 PS。如果您在此之前从未使用过git,那么这是正确的开始时间。 :)
当你安装它时,在windows程序中搜索git bash并右键单击它以管理员身份运行。如果您在右键单击当前文件夹“git bash here”时打开了Git bash,它将无法正常工作,因为默认情况下它不会在管理员模式下启动。如果你这样做了,你会得到这个警告。
app/console assets:install web --symlink
然而,如果你玩得很好,就像我说的那样。 (以管理员身份运行..你会让一切顺利。
app/console assets:install web --symlink
符号链接在哪里创建! :)现在您不需要资产:每次更改css文件时都安装。
聚苯乙烯。 git bash控制台比原生Windows控制台更好但是...例如Ubuntu等Unix系统看起来会更好。使用Xamp的Windows上的Symfony运行速度比Linux Ubuntu系统慢得多。我说的是Linux上的页面响应速度提高了5到20倍。
答案 3 :(得分:0)
你可以使用configure the composer.json并永远使用而不会出现任何问题,放入其中--symlink。这就是你如何做到的。 http://www.w3docs.com/snippets/symfony/how-to-keep-symlinks-in-web-bundles-after-composer-update.html
答案 4 :(得分:0)
您可以在composer.json
:
{
"extra": {
"symfony-assets-install" : "symlink",
}
}