Composer加载第三库文件symfony/polyfill-mbstring时报错

Composer加载第三库文件symfony/polyfill-mbstring时提示date_default_timezone_get(): It is not safe to rely on the system's timezone settings.

PHP调试的时候出现了警告: It is not safe to rely on the system解决方法,其实就是时区设置不正确造成的,本文提供了3种方法来解决这个问题。

实际上,从PHP 5.1.0开始当对使用date()等函数时,如果timezone设置不正确,在每一次调用时间函数时,都会产生E_NOTICE 或者 E_WARNING 信息,而又在php中,date.timezone这个选项,默认情况下是关闭的,无论用什么php命令都是格林威治标准时间,但是PHP5.3中如果没有设置部分时间类函数也会强行抛出了这个错误的。

PS:现在由于大部分人使用VPS/云主机,需要自己配置的环境的就更加会容易出现这个情况。

建议:不熟悉PHP环境还是用比较成熟的一键安装包吧。

方法1:
(最好的方法)在php.ini里加上找到date.timezone项,设置date.timezone = "Asia/Shanghai",重启环境就ok了。
打开php.ini文件时,发现date.timezone默认是被注释了,打开并设置为date.timezone = "Asia/Shanghai"

方法2:
在需要用到这些时间函数的时候,在页面添加date_default_timezone_set("PRC");

方法3:
在页头加上设置时区ini_set('date.timezone','Asia/Shanghai');

错误提示代码:

Warning: date(): It is not safe to rely on the system’s timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected ‘Asia/Chongqing’ for ‘CST/8.0/no DST’ instead

Warning: strtotime(): It is not safe to rely on the system’s timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected ‘Asia/Chongqing’ for ‘CST/8.0/no DST’ instead

Warning: date_default_timezone_get(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Chongqing' for 'CST/8.0/no DST' instead in /home/ftp/n/nimaboke/include/lib/function.base.php

解决完上边的问题后又出现如下问题:

Composer加载第三库文件symfony/polyfill-mbstring时报错_第1张图片
composer.png

解决办法:
根据查询所提供网址访问https://getcomposer.org/doc/articles/troubleshooting.md#proc-open-fork-failed-errors
上面显示有提供问题发生的可能原因和解决办法
This could be happening because the VPS runs out of memory and has no Swap space enabled.

[输入命令]free -m

[显示数据]total used free shared buffers cached
Mem: 2048 357 1690 0 0 237
-/+ buffers/cache: 119 1928
Swap: 0 0 0
To enable the swap you can use for example:

[输入命令]/bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024
[输入命令]/sbin/mkswap /var/swap.1
[输入命令]/sbin/swapon /var/swap.1

运行这几条命令后问题解决

参考文档:

  • cent os7.2 安装composer后报错proc_open(): fork failed - Cannot allocate memory
  • Memory limit errors
  • How To Add Swap on Ubuntu 14.04

你可能感兴趣的:(Composer加载第三库文件symfony/polyfill-mbstring时报错)