Php Symfony 1.4未填充空装饰目录设置

Php Symfony 1.4未填充空装饰目录设置,php,macos,apache,symfony-1.4,Php,Macos,Apache,Symfony 1.4,我正在从事一个传统的symfony 1.4项目,我在我的office linux机器Fedora 16上安装了我的本地开发环境,一切都进行得很顺利。我不得不用MacOSXLion为macbook机器重新创建环境 在第二分钟,我得到了大量这样的错误 [Mon Mar 04 16:51:58 2013] [error] [client ::1] PHP Fatal error: Uncaught exception 'sfRenderException' with message 'The dec

我正在从事一个传统的symfony 1.4项目,我在我的office linux机器Fedora 16上安装了我的本地开发环境,一切都进行得很顺利。我不得不用MacOSXLion为macbook机器重新创建环境

在第二分钟,我得到了大量这样的错误

[Mon Mar 04 16:51:58 2013] [error] [client ::1] PHP Fatal error:  Uncaught exception 'sfRenderException' with message 'The decorator template "layout.php" does not exist or is unreadable in "".' in /Users/foo/bar/baz/myApp/v2/cache/something/something/config/config_core_compile.yml.php:3875\nStack trace:\n#0 /Users/foo/bar/baz/myApp/cache/something/something/config/config_core_compile.yml.php(3909)
因此,在
config\u core\u compile.yml.php
文件中,此代码中会抛出异常

if (!is_readable($this->getDecoratorDirectory().'/'.$this->getDecoratorTemplate()))
{
throw new sfRenderException(sprintf('The decorator template "%s" does not exist or is unreadable in "%s".', $this->decoratorTemplate, $this->decoratorDirectory));
}
跟踪第175行附近对sfView.class.php的getDecoratorDirectory方法调用

public function getDecoratorDirectory()
{
return $this->decoratorDirectory;
}
在同一个文件中,decorcordirectory属性被“计算/填充”但为空,您知道哪里可能出错吗?一个symfony设置,一个apache配置?有什么事吗

以防这是我的apache vhost

<VirtualHost *:80>
ServerName local.myapp
DocumentRoot /Users/foo/bar/baz/myApp/v2/web


ErrorLog "/private/var/log/apache2/local.myapp-error_log"
CustomLog "/private/var/log/apache2/local.myapp-access_log" combined

<Directory "/Users/foo/bar/baz/myApp/v2/web">
Options FollowSymLinks
AllowOverride All
Allow from All
</Directory>


Alias /sf /Users/foo/bar/baz/myApp/v2/web/lib/vendor/symfony/data/web/sf
<Directory "/Users/foo/bar/baz/myApp/v2/web/lib/vendor/symfony/data/web/sf">
AllowOverride All
Allow from All
</Directory>

</VirtualHost>

ServerName local.myapp
DocumentRoot/Users/foo/bar/baz/myApp/v2/web
ErrorLog“/private/var/log/apache2/local.myapp-error\u log”
CustomLog“/private/var/log/apache2/local.myapp-access\u log”组合
选项如下符号链接
允许超越所有
通融
别名/sf/Users/foo/bar/baz/myApp/v2/web/lib/vendor/symfony/data/web/sf
允许超越所有
通融
编辑:
此外,我还必须使用Performce公司的repos,一位老队友一直说他认为这是关于编码的,这对我来说没有意义,但仍然是。

我不确定,但有时当我将一个symfony应用程序移动到另一台服务器或另一个文件夹时,我不得不删除所有缓存文件夹,因为symfony有时使用绝对路径

那么,请尝试删除缓存文件夹中的所有内容。您可能需要修复此文件夹的权限,因为symfony需要在此文件夹上创建目录。(可能)


对不起,我的英语说得不好,无法解释清楚。

嘿,埃尔努尔和j0k,你好吗?你做的编辑是什么?你使用的是相同的apache,相同的php吗?应用程序的templates文件夹中是否存在文件
layout.php
?你清除缓存了吗?在linux框中,如果我没记错的话,我有apache 2.2,php是5.4。*在mac框中,我有php 5.3.15和apache/2.2.22(Unix)DAV/2以及Suhosin补丁。是的,我清除缓存文件夹好几次了。我在项目中有多个symfony应用程序,除了一个以外,其他所有应用程序的templates文件夹中都有layout.php文件,查看它…j0k,因此decoratorDirectory属性为空是正常的/常见的?在
vhost
中,您对
别名的定义有错误。路径应该是
。/myApp/v2/lib/vendor…
因此没有
web
部分。虽然我不认为这是你问题的原因。别担心,英语也不是我的第一语言,是的,你解释得很好。是的,我已经完全清除了缓存,缓存文件夹有777个权限。不知道我还应该检查什么,vhost看起来还好吗?我认为vhost不是问题所在。但是,在堆栈跟踪中有一些奇怪的东西:“…/Users/foo/bar/baz/myApp/cache/something/something/config/config_core_compile.yml.php(3909)”此路径与您的应用程序不同:/Users/foo/bar/baz/myApp/v2/(v2不在堆栈跟踪广告中…)是的,symfony正在缓存东西,引发异常的文件是一个缓存文件。另外,我可能忘记添加v2部分,我放置了一个虚构的路径来不显示我的真实路径。