我正在处理一个遗留的 symfony 1.4 项目,我在我的办公室 linux 机器 Fedora 16 上设置了我的本地开发环境,一切都很顺利。我不得不用 Mac OS X Lion 为 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_core_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));
}
跟踪 getDecoratorDirectory 方法调用,我在第 175 行附近找到了 sfView.class.php
public function getDecoratorDirectory()
{
return $this->decoratorDirectory;
}
在同一个文件中,decoratorDirectory 属性得到“计算/填充”,但它是空白的,你有什么线索可能是错的吗?一个 symfony 设置,一个 apache 配置?任何事物?
PS以防万一这是我的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>
编辑:另外我必须使用 perforce 公司回购,一位年长的队友一直说他认为是关于编码,这对我来说没有意义,但仍然如此。