我正在尝试使用symfony2进行composer安装。但我一次又一次地遇到这个问题。
我跑的时候:
php composer.php install
我收到以下错误,我不知道如何修复:
错误#1
[Symfony的\元器件\调试\异常\ ContextErrorException]
警告:date_default_timezone_get():依赖系统的时区设置是不安全的。您必需使用date.timezone设置或date_default_timezone_set()函数。如果您使用了这些方法中的任何一种并且仍然收到此警告,则很可能拼错了时区标识符。我们现在选择了时区'UTC',但请设置date.timezone以选择您的时区。在/Applications/MAMP/htdocs/ffss/vendor/jms/serializer-bundle/JMS/SerializerBundle/DependencyInjection/Configuration.php第66行
错误#2
脚本Sensio \ Bundle \ DistributionBundle \ Composer \ ScriptHandler :: clearCache处理以异常终止的post-install-cmd事件
错误#3
[RuntimeException的]
执行“'cache:clear --no-warmup'”命令时发生错误。
这是第一个错误中提到的文件的第66行:
- > scalarNode( 'default_timezone') - >默认值(date_default_timezone_get()) - >端()
感谢您的帮助!
答案 0 :(得分:5)
只需在app/AppKernel.php
文件中设置默认时区,如下所示:
<?php
use Symfony\Component\HttpKernel\Kernel;
use Symfony\Component\Config\Loader\LoaderInterface;
// setting the default time zone
date_default_timezone_set('UTC');
class AppKernel extends Kernel
{
// what ever bundles registered
}
public function registerContainerConfiguration(LoaderInterface $loader)
{
$loader->load(__DIR__.'/config/config_'.$this->getEnvironment().'.yml');
}
}
答案 1 :(得分:1)
请运行php -i
并获取输出中提到的php.ini
文件的位置。该文件需要添加错误消息中提到的设置。可能已经有一些带有此名称的注释行。
所有其他错误都是由第一个错误触发的,一旦完成所需的PHP设置,就不应该触发。
答案 2 :(得分:1)