为了在我们的服务器上保持代码的完整性,我们希望将/vendor/*目录置于源代码管理之下,而不是每次在另一台服务器上推出时都使用composer下载文件,也就是说,我们可以确定/vendor**文件是相同的。
我们对提交给源代码管理的所有文件运行语法检查器,并运行以下错误:
文件"/vender/sensio/GeneratorBundle/sensio/bundle/GeneratorBundle/Resources/skelet/bundle/bundle.php"未通过php语法检查,出现以下错误:PHP分析错误:语法错误,意外的"}",第3行的/vender/sensio/generator bundle/sensio/bundle/GeneratorBundle/Resources/skelet/bundle/bundle.PHP中应为T_NS_SEPARATOR
这个文件中的"错误"是故意的吗?感谢您的帮助。以下文件内容:
<?php
namespace {{ namespace }};
use Symfony'Component'HttpKernel'Bundle'Bundle;
class {{ bundle }} extends Bundle
{
}
是的,这个文件中的"错误"是故意的,因为它并不是真正由php"按原样"进行的。它是命令app/console generate:bundle
用于生成捆绑包的模板。
因此,{{ namespace }}
将被一个真实的名称空间取代,{{ bundle }}
将被您在生成bundle时选择的bundle名称取代。
首先必须检查php/bin
是否在$PATH
上。
PATH=$PATH: /your/path/to/php/bin
export PATH
此外,请确保PHP可以使用CLI执行(在带有exec
的shell中)。
第二次检查您的服务器需求,这是为了运行Sympony2:
通过在Symfony发行版中运行web/config.php,您可以很容易地看到您的系统是否通过了所有要求。由于CLI通常使用不同的php.ini配置文件,因此最好通过以下方式从命令行检查您的需求:
php app/check.php
必需:
- PHP需要是PHP 5.3.2的最低版本
- 需要启用Sqlite3
- 需要启用JSON
- 需要启用ctype
- 您的PHP.ini需要有日期时区设置
可选:
- 您需要安装PHP-XML模块
- 您需要至少有2.6.21版本的libxml
- 需要启用PHP标记器
- 需要启用mbstring函数
- 需要启用iconv
- 需要启用POSIX(仅在*nix上)
- Intl需要安装ICU 4+
- APC 3.0.17+(或需要安装另一个操作码缓存)
- PHP.ini推荐设置
9.1.short_open_tag=关闭
9.2.magic_quotes_gpc=关闭
9.3.register_globals=关闭
9.4.session.autostart=关闭
如果你想使用条令,你需要安装PDO。此外,您需要为要使用的数据库服务器安装PDO驱动程序。