带有symfony 2的时区

问题描述

| 我在Symfony 2上遇到了一些麻烦,尝试通过以下方式生成架构:
PHP console/app generate:schema:create
我有一个相当大的错误
[Exception]                           
DateTime::__construct(): 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 \'Europe/Berlin\' for \'CEST/2.0/DST\' instead
因此,我正在尝试使用以下方法更改PHP.ini中的时区
date.timezone = \'Europe/Paris\'
但是即使我正在重新加载Apache,我仍然可以
date.timezone   Europe/Zurich   Europe/Zurich
如果我看着我的
PHPinfo()
,那么我真的不知道下一步该怎么做...而且我什至不确定自己的状况如何。 谢谢你帮我     

解决方法

        在Mac上,如果您有
/etc/php.ini.default
,请执行
sudo cp /etc/php.ini.default /etc/php.ini 
然后做
php --ini 
看到它现在加载了php.ini文件。     ,        这个招 se8ѭ和
/etc/php5/apache2/php.ini
例如10ѭ 并运行命令
$ sudo apt-get install php5-sqlite 
$ sudo /etc/init.d/apache2 restart
    ,        PHP的某些第三方发行版(包括MAMP)已对时区进行了硬编码。例如,MAMP 2.0被硬编码到Europe / Berlin,并且没有办法对此进行更改。即使更改php.ini模板中的值也不起作用,因为MAMP会覆盖您的值。您是使用源代码的PHP,预编译的软件包还是将PHP用作某种LAMP堆栈的一部分?     ,        如果基于debian,则必须修改文件/etc/php5/cli/php.ini中的参数,在/etc/php5/apache2/php.ini中对其进行更改无效。     ,        我知道这是一张旧票,但是由于我对此也有疑问,并且它仍然开放,所以我想我会分享我的快速解决方案: 就我而言,根本没有设置
date.default
,也无法更改
php.ini
。因此,作为权宜之计,我在
web/app.php
的开头添加了
date_default_timezone_set(\'Europe/Dublin\')
来更改运行时的时区,这对我来说很好。 如果您使用控制台运行任何命令,则可能还必须将调用添加到此脚本的顶部。     ,        我的共享主机遇到了这个问题。他们告诉我我无法通过php.ini更改时区,但是您可以尝试使用
.htaccess
文件。 在安装Symfony的文件夹中创建ѭ16,并将以下代码放入其中:
SetEnv TZ America/Sao_Paulo
希望这可以帮助。 干杯, 卢西亚诺     ,        对于Windows,我为Web服务器安装了XAMPP,然后下载并安装了PHP,以便可以从命令提示符下运行symfony命令。 在这种情况下,我执行Symfony命令时使用的
php.ini
文件位于
C:\\Program Files(x86)\\PHP\\php.ini
中。您必须具有管理员权限才能编辑此文件,因此我以管理员身份启动了Notepad ++并打开了该文件。 寻找
date.timezone
并根据您的时区进行修改,例如
date.timezone = Africa/Nairobi
。时区在php网站上列出,只需搜索
php,timezones
。无需重新启动计算机或Web服务器。     ,        我刚在Mac 10.11.5,PHP 5.6.8上使用XAMPP遇到此问题 我的错误为\“警告:date_default_timezone_get():无效的date.timezone值\'America / Los Angeles \',\” 我通过查找唯一问题是解决了我的PHP.ini date.timezone设置\“ Los Angeles \”中缺少下划线的问题,从而解决了该问题。     ,        尝试执行以下命令: 须藤ln -s /usr/local/php5/lib/php.ini /etc/php.ini 以Mac为例。 第一个-配置路径,第二个-不变。