Symfony2语法错误(在供应商文件中)

时间:2012-09-12 09:19:17

标签: php symfony syntax vendor

为了维护我们服务器的代码完整性,我们希望将/ vendor / *目录保留在源代码管理下,而不是每次我们推出到另一台服务器时使用composer下载文件 - 即我们可以确定/供应商/ *文件是相同的。

我们对提交给源代码控制的所有文件运行语法检查,并运行以下错误:

File '/vendor/sensio/generator-bundle/Sensio/Bundle/GeneratorBundle/Resources/skeleton/bundle/Bundle.php' failed the PHP syntax check with the following error:
PHP Parse error:  syntax error, unexpected '}', expecting T_NS_SEPARATOR in /vendor/sensio/generator-bundle/Sensio/Bundle/GeneratorBundle/Resources/skeleton/bundle/Bundle.php on line 3

此文件中的“错误”是否故意?任何帮助赞赏。文件内容如下:

<?php
namespace {{ namespace }};

use Symfony\Component\HttpKernel\Bundle\Bundle;

class {{ bundle }} extends Bundle
{
}

2 个答案:

答案 0 :(得分:1)

是的,此文件中的“错误”是故意的,因为它不是真的按照“原样”继续进行。它是命令app/console generate:bundle用于生成包的模板。

因此,{{ namespace }}将由您在生成捆绑包时选择的捆绑名称替换为真实命名空间和{{ bundle }}

答案 1 :(得分:0)

首先,您必须检查php/bin上是否有$PATH

PATH=$PATH: /your/path/to/php/bin
export PATH

此外,请确保PHP可以使用CLI执行(在shell中使用exec)。

再次检查您的服务器要求,这些要求用于运行Sympony2:

通过在Symfony发行版中运行web / config.php,您可以轻松查看系统是否满足所有要求。由于CLI通常使用不同的php.ini配置文件,因此最好通过命令行检查您的要求:

php app/check.php

必需:

  1. PHP必须是PHP 5.3.2的最低版本
  2. 需要启用Sqlite3
  3. 需要启用JSON
  4. 需要启用ctype
  5. 您的PHP.ini需要具有date.timezone设置
  6. 可选

    1. 您需要安装PHP-XML模块
    2. 您需要至少拥有版本2.6.21的libxml
    3. 需要启用PHP tokenizer
    4. 需要启用mbstring函数
    5. iconv需要启用
    6. 需要启用POSIX(仅限* nix)
    7. Intl需要与ICU 4 +
    8. 一起安装
    9. APC 3.0.17+(或需要安装其他操作码缓存)
    10. PHP.ini推荐设置
       9.1。 short_open_tag =关
       9.2。 magic_quotes_gpc =关闭  9.3。 register_globals = Off
       9.4。 session.autostart = Off
    11. 如果要使用Doctrine,则需要安装PDO。此外,您需要为要使用的数据库服务器安装PDO驱动程序。