在OVH服务器中没有CSS内容的Symfony 2应用程序?

时间:2012-05-25 17:49:58

标签: css deployment symfony setup-deployment web-deployment

我搜索了差不多两天的解决方案,但实际上我现在还不行,简而言之,我按照本教程中的步骤将我的网站部署到带有filezilla的OVH服务器here

部署后我发现我的网站工作正常,但在FF和Chrome中没有CSS内容,所以当我检查firebug时,我发现所有的CSS样式都正确加载但是空的没有内容,JS文件也加载了内容和所有图像在IE中,我的样式运行正常,但没有加载图像?我在Ubuntu上工作,我使用虚拟机来使用IE ...

我几乎做了所有事情,我清除了缓存并更改了所有文件的访问权限,我指定了files => 705,CSS和JS => 604,最后我把所有东西都放到777但仍然没有变化...

一个想法?

2 个答案:

答案 0 :(得分:0)

问题来自于资产:当使用closure或yui css缩小和连接css和js文件时,调用java来执行.jar文件中包含的jar代码。

在OVH共享主机服务器上,您没有可用的java,因此运行assetic dump命令时symfony生成的输出文件实际上是空的(因此您的空css + js文件)。

您应该只在本地服务器上缩小这些文件(资产转储),然后将输出上传到您的服务器。不要在生产服务器上运行资产转储! (至少与OVH共享主机有关)

答案 1 :(得分:0)

我也有这个问题,罪魁祸首是PCRE正则表达式库的过时版本,它被编译成PHP的CentOS风格。尝试运行命令php -i或使用phpinfo()函数并检查您的PCRE版本是7.0还是更新版本。如果它较旧,则不支持命名捕获组的速记版本。

要解决此问题,请尝试将资产更新为使用更兼容的较长版本的命名捕获组的较新版本。如果您无法执行此操作,则可以直接修改有问题的文件/vendor/assetic/src/Assetic/Filter/BaseCssFilter.php。只需使用(?<paramname>替换(?P<paramname>的所有出现。

请注意,正确的方法是覆盖此文件,而不是直接在vendors目录中修改它。