为了维护我们服务器的代码完整性,我们希望将/ 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
{
}
答案 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
如果要使用Doctrine,则需要安装PDO。此外,您需要为要使用的数据库服务器安装PDO驱动程序。