0

我正在处理一个遗留的 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 公司回购,一位年长的队友一直说他认为是关于编码,这对我来说没有意义,但仍然如此。

4

1 回答 1

1

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

好吧,尝试删除缓存文件夹中的所有内容。可能你需要修复这个文件夹的权限,因为 symfony 需要在这个文件夹上创建目录。(大概)。

抱歉,我不会说英语,无法很好地解释。

于 2013-03-05T16:46:23.057 回答