【问题标题】:symfony2 and phpunit does not work on lampp (ubuntu 15.x)symfony2 和 phpunit 在lampp (ubuntu 15.x) 上不起作用
【发布时间】:2016-01-25 10:16:23
【问题描述】:

我的 symfony2 应用程序在 wamp (windows) 上与 phpunit 完美配合,但是当更改环境并在安装后开始在 lampp (linux) 上工作时,通过键入 phpunit -c app/ 运行测试时出现以下错误: `/opt/lampp/htdocs/VTALLY/src/Iballot/CmsBundle/Tests/Controller/ParliamentaryControllerTest.php:11

由 Symfony\Component\Yaml\Exception\ParseException:保留的指示符“@”不能以纯标量开头;您需要在第 4 行引用标量(靠近“arguments: [@security.context, @fos_user.user_manager]”)。`

【问题讨论】:

  • 您的 YAML 文件中包含参数 @security.context 的内容是什么?您是对代码进行版本控制还是复制/粘贴文件?
  • 我刚才在linux环境下复制粘贴的代码
  • @what.evers 周围使用引号。
  • 我无法更改文件,因为它在供应商中!
  • 你安装了什么版本的 Symfony?

标签: php symfony phpunit


【解决方案1】:

您需要将任何以@ 开头的字符串放在引号中:

arguments:
    ["@security.context", "@fos_user.user_manager"]

应引用保留字符,例如 @。未引用 @s were deprecated in Symfony 2.8。 Symfony 3.0 会禁止你使用这样的定义并且会抛出异常。

如果您无法控制注册有问题配置的捆绑包,请向供应商发送包含修复的拉取请求。作为快速修复,您可以降级 Symfony。 2.7 和 2.8 都可以工作(后者只会发出弃用通知)。

【讨论】:

  • 我应该在供应商内部进行更改吗?我不能!
  • 向供应商发送 PR 以解决此问题。
  • 或者使用旧版本的 Symfony。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-10-10
  • 1970-01-01
  • 1970-01-01
  • 2018-08-06
  • 2015-08-30
  • 2017-04-18
  • 2018-12-23
相关资源
最近更新 更多