如何使用composer.phar安装修复问题

时间:2014-07-07 23:41:53

标签: php date symfony datetime

我正在尝试使用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()) - >端()

  1. 我不知道在哪里设置它所要求的时区。
  2. 我不知道从哪里开始甚至修复此错误:脚本Sensio \ Bundle \ DistributionBundle \ Composer \ ScriptHandler :: clearCache处理以异常终止的post-install-cmd事件
  3. 这甚至意味着什么:执行“'cache:clear --no-warmup'”命令时发生错误。
  4. 感谢您的帮助!

3 个答案:

答案 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)

在这篇文章中找到解决方案:Link to the solution

我尝试编辑系统中的所有php.ini文件,并重新启动apache / MAMP,但没有成功。

这是我唯一可以上班的事情。