【问题标题】:Error with Symfony installationSymfony 安装错误
【发布时间】:2014-12-03 21:36:16
【问题描述】:

我使用 composer 创建了一个新的 Symfony 项目:

composer create-project symfony/framework-standard-edition ./

在供应商下载和 parameter.ini 文件问题后,我收到以下错误:

PHP Parse error: parse error, expecting')'' 在 /Users/..../app/cache/dev/appDevDebugProjectContainer.php 第 20 行`

我检查了文件

class appDevDebugProjectContainer extends Container
{
    private static $parameters = array(
        'kernel.root_dir' => dirname(dirname(__DIR__)),     //LINE 20
        'kernel.environment' => 'dev',

我不明白为什么这会导致错误,但删除了 dirname(dirname(__DIR__)) 并且我硬编码了绝对路径。

我尝试运行 ./app/console 并在 appDevDebug 文件中发现另一个错误,另一个对 __DIR__ 的引用。

我能够通过硬编码路径来解决其中的一些问题,但最终得到了完全不同的错误消息(仍在 appDevDebug 文件中)。

这个文件是自动生成的,所以我决定停止走这条路……知道是什么原因造成的吗?

我运行了php app/check.php,它说我的系统配置为运行symfony。我还在同一台机器上安装了较旧的 symfony(2.4、2.5),它们运行良好。

【问题讨论】:

  • 你可以试试这个:php app/console cache:clear --verbose
  • 我得到了同样的错误。如果我运行 sudo rm -rf app/cache/* 然后运行 ​​app/console,我也会收到此错误

标签: php symfony


【解决方案1】:

我不得不更改 composer.json:

"require": {
    ...
    "symfony/symfony": "2.6",
...

以前它使用 dev 分支

"symfony/symfony": "2.6.x-dev",

修改后一切顺利。

更新

实际上您可能必须使用 service.xml 而不是 service.yml。由于某种原因 service.yml 对我不起作用(它被忽略了)。

【讨论】:

    【解决方案2】:

    我正在研究同样的问题并找到了这些解决方案:

    您是否为 CLI php.ini 设置了时区?你可以用这个检查:

    php --info | grep timezone
    

    您也可以清除缓存并重试:

    rm -Rf app/cache/dev (prod instead of dev for a productive environment)
    

    【讨论】:

    • 时区已设置,默认时区和 date.timezone => America/Los_Angeles。
    • 我已经尝试清除缓存sudo rm -rf app/cache/* 仍然得到同样的错误
    猜你喜欢
    • 2014-08-10
    • 2013-02-22
    • 1970-01-01
    • 1970-01-01
    • 2021-01-14
    • 2018-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多