settimezone php date datetime timezone ini

settimezone - set timezone php



"Phpinfo(): no es seguro confiar en la configuraciĆ³n de la zona horaria del sistema..." (3)

Esta pregunta ya tiene una respuesta aquí:

Mientras ejecuto un script de instalación de php para Blue.box (front-end a FreeSwitch PBX), aparece este error acerca de una falla en la zona horaria.

Entonces empiezo a cavar. No estoy seguro de lo que está pasando en este punto. Pero esto es lo que tengo:

Creé un archivo info.php en mi directorio public_html que contiene una sola línea:

Y obtengo este error y salida

Advertencia: phpinfo (): no es seguro depender de la configuración de la zona horaria del sistema. Debe utilizar la configuración date.timezone o la función date_default_timezone_set (). En caso de que haya utilizado alguno de esos métodos y aún reciba esta advertencia, es probable que haya escrito mal el identificador de zona horaria. Seleccionamos ''America / New_York'' para ''EDT / -4.0 / DST'' en lugar de /home/0default/public_html/info.php en la línea 1

date/time support enabled "Olson" Timezone Database Version 0.system Timezone Database internal Default timezone America/New_York Directive Local Value Master Value date.default_latitude 31.7667 31.7667 date.default_longitude 35.2333 35.2333 date.sunrise_zenith 90.583333 90.583333 date.sunset_zenith 90.583333 90.583333 date.timezone America/New_York America/New_York

Creé un archivo /etc/php.d/timezone.ini con lo siguiente:

[root@mercury php.d]# cat timezone.ini ; default time zone date.timezone=''America/New_York'' [root@mercury php.d]#

Puedo cambiar la zona horaria a América / Los_Angeles (por ejemplo) y después de reiniciar Apache, el campo "date.timezone" cambia correctamente.

Pero todavía obtengo el error.

¿Algunas ideas?

--- Nota adicional ---

Si cambio el archivo /etc/php.d/timezone.ini:

[root@mercury php.d]# cat timezone.ini ; default time zone date.timezone=''America/Los_Angeles''

Puedo causar un cambio en la salida de info.php:

fecha

Advertencia: phpinfo (): no es seguro depender de la configuración de la zona horaria del sistema. Debe utilizar la configuración date.timezone o la función date_default_timezone_set (). En caso de que haya utilizado alguno de esos métodos y aún reciba esta advertencia, es probable que haya escrito mal el identificador de zona horaria. Seleccionamos ''America / New_York'' para ''EDT / -4.0 / DST'' en lugar de /home/0default/public_html/info.php en la línea 1

date/time support enabled "Olson" Timezone Database Version 0.system Timezone Database internal Default timezone America/New_York Directive Local Value Master Value date.default_latitude 31.7667 31.7667 date.default_longitude 35.2333 35.2333 date.sunrise_zenith 90.583333 90.583333 date.sunset_zenith 90.583333 90.583333 date.timezone America/Los_Angeles America/Los_Angeles

--- Nota adicional ---

Para aquellos que están aprendiendo (como yo), se cargan varios archivos .ini. En la salida de info.php:

Configuration File (php.ini) Path /etc Loaded Configuration File /home/0default/etc/php5/php.ini Scan this dir for additional .ini files /etc/php.d Additional .ini files parsed /etc/php.d/curl.ini, /etc/php.d/dom.ini, /etc/php.d/fileinfo.ini, /etc/php.d/gd.ini, /etc/php.d/imap.ini, /etc/php.d/json.ini, /etc/php.d/mbstring.ini, /etc/php.d/mysql.ini, /etc/php.d/mysqli.ini, /etc/php.d/odbc.ini, /etc/php.d/pdo.ini, /etc/php.d/pdo_mysql.ini, /etc/php.d/pdo_odbc.ini, /etc/php.d/pdo_pgsql.ini, /etc/php.d/pdo_sqlite.ini, /etc/php.d/pgsql.ini, /etc/php.d/phar.ini, /etc/php.d/snmp.ini, /etc/php.d/sqlite3.ini, /etc/php.d/timezone.ini, /etc/php.d/wddx.ini, /etc/php.d/xmlreader.ini, /etc/php.d/xmlrpc.ini, /etc/php.d/xmlwriter.ini, /etc/php.d/xsl.ini, /etc/php.d/zip.ini

El primero cargado es /etc/php.ini, luego el "archivo de configuración cargado", luego los archivos "escanear este directorio".

Entonces, por ejemplo, uno debería poder crear una cantidad de sitios web php en diferentes zonas horarias predeterminadas. Establezca el valor predeterminado maestro en /etc/php.ini, luego permita que cada uno de los sitios web tenga un huso horario diferente como se identifica en la sección "cargado ...". Entonces, si a uno le preocupan las anulaciones, el maestro puede anular nuevamente con los archivos /etc/php.d.

Intenté cambiar el "date.timezone" en cada una de las tres ubicaciones, y cambié con éxito la fecha.timezone como se muestra en info.php ... pero no modifica el valor "Default timezone", que es el valor que está causando el error.

Otra nota, el script .php que estoy ejecutando es en realidad Blue.box, una interfaz para FreeSwitch. Entonces ... dudo en cambiar ese script .php.


En mi caso, tuve la actualización de php.ini en dos lugares. Uno era /etc/php5/apache2/php.ini y /etc/php5/cli/php.ini . Debes reiniciar tu apache y luego debería funcionar. ¡¡¡Espero que esto ayude!!!


Resolví este problema buscando qué php.ini está usando tu servidor. Primero, debe hacer que una página muestre phpinfo (), y visite la página, puede ver la información normal; En segundo lugar, busque "Archivo de configuración cargada" en la página, debería ver qué archivo php.ini está usando su servidor. como: "/ etc / php.ini"; En tercer lugar, edite el archivo determinado en su servidor, como: date.timezone = "Asia / Shanghai" y luego reinicie el servidor. Hecho. Buena suerte.