Pergunta

Eu tenho o seguinte erro / aviso enquanto tring para instalar Kohana / SilverStripe.
O que significa eo que é que eu faço para ele?

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/Calcutta' for '5.5/no DST' instead in C:\Server\apache\htdocs\kohana\system\core\Kohana.php on line 136

Obrigado antecipadamente!

Foi útil?

Solução

Este não é um erro, mas um aviso, para que ele não bloquear seu aplicativo de trabalho.

Explicitamente definir o fuso horário direita usando date_default_timezone_set () em C: \ Servidor \ Apache \ htdocs \ kohana \ sistema \ núcleo \ Kohana.php na linha 136

Você tem que escolher entre fusos horários válidos


Editar

Como a mensagem de aviso em si afirma que você realmente tem uma escolha mais limpa, em seguida, a edição de um terceiro arquivo software festa. Ou seja, configuração do PHP como deveria ser.

  • editar o seu php.ini e ajustar o valor de date.timezone = America/New_York

ou

  • usar uma directiva php_value em sua configuração do servidor web para defini-la em sua vhost de configuração ou .htaccess: php_value date.timezone America/New_York

Outras dicas

O comentário do OP à sua própria pergunta acima implica que o fuso horário padrão não pode ser definido no php.ini, o que não é verdade - na verdade, em muitos casos, definindo-o há preferido . E desde que este SO resposta é um dos primeiros hits no Google para "php erro fuso horário default", eu vou salvar os outros alguma sanidade perdida.

Uma causa muito comum desse erro não é tanto a cometer erros de ortografia da cidade zona ou país (por exemplo, "New York", "Los Angeles") no arquivo php.ini que está sendo usado, mas em vez disso, para incluir espaços incorporado em vez que sublinhados no identificador e, assim, "Misspell" a constante completa.

Isso também irá fazer o que quiser, sem ter que defini-lo em todas as páginas em tempo de execução (verificado no PHP 5.4 e 5.3, em Windows, Linux e OSX):

Em php.ini :

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = America/New_York
;               ^^^^^^^^^^^^^^^^  * Must_Use_Underscores *


Além disso, se você já tiver verificado e re-marcada a ortografia e são certeza é certo, certifique-se de que você está editando o real arquivo php.ini que está sendo usado:

contexto Web (criar um arquivo de teste test.php , e em seguida, confirmar a date.timezone lá):

 <?php phpinfo(); ?> 

linha de comando Linux / OSX:

$ php -i | grep "timezone" 

Linha de comando do Windows:

C:\> php -i | find "timezone" 


A ordem de precedência para recuperar a configuração de data fuso horário padrão é soletrado para fora em detalhe aqui .

Se você não tem a capacidade de mudar php.ini, adicione aos seus arquivos _ss_environment.php ou mysite/_config.php:

date_default_timezone_set('...');

onde ... é um dos fusos horários PHP válido.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top