J'ai eu cette erreur lorsque j'ai demandé à mettre à jour la version PHP de 5.2.17 vers PHP 5.3.21 sur le serveur.
<div style="border:1px solid #990000;padding-left:20px;margin:0 0 10px 0;">
<h4>A PHP Error was encountered</h4>
<p>Severity: Warning</p>
<p>Message: 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 'America/New_York' for 'EDT/-4.0/DST' instead</p>
<p>Filename: libraries/Log.php</p>
<p>Line Number: 86</p>
</div>
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 'America/New_York' for 'EDT/-4.0/DST' instead in /filelocation right here/system/libraries/Log.php on line 86
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 'America/New_York' for 'EDT/-4.0/DST' instead in /filelocation right here/system/libraries/Log.php on line 99
<div style="border:1px solid #990000;padding-left:20px;margin:0 0 10px 0;">
<h4>A PHP Error was encountered</h4>
<p>Severity: Warning</p>
<p>Message: 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 'America/New_York' for 'EDT/-4.0/DST' instead</p>
<p>Filename: libraries/Log.php</p>
<p>Line Number: 99</p>
</div>
php.ini
utilisé par apache, il suffit d'exécuter la commande suivantephp -i | grep php.ini
.Si vous ne pouvez pas modifier votre configuration php.ini, vous pouvez également utiliser l'extrait de code suivant au début de votre code:
La liste des fuseaux horaires est disponible à l' adresse http://www.php.net/manual/en/timezones.php .
la source
Ajoutez ce qui suit dans votre
index.php
fichier. Je l'ai rencontré pour la première fois lorsque j'ai déplacé mon application de mon XAMPP serveur vers Apache 2.2 et PHP 5.4 ...Je vous conseille de le faire dans votre
index.php
fichier au lieu duphp.ini
fichier.la source
au lieu de
travaillé pour moi (montre l'année en cours et ne montre plus le message d'erreur). (Merci à Chris ci-dessus)
la source
Si ce ne sont pas vos options
php.ini
.date_default_timezone
appel.Au lieu de
date
vous pourriez utilisergmdate
.J'ai utilisé
gmdate( "Y" )
quand j'avais besoin d'un an pour un extrait de copyright.la source
Si vous utilisez CodeIgniter et ne pouvez pas modifier php.ini, j'ai ajouté ce qui suit au début de index.php:
la source
Je garde toujours cette ligne à l'intérieur de la racine de codeigniter
index.php
. Pour que mon code fonctionne sur n'importe quel serveurListe des fuseaux horaires pris en charge ici
la source
@Justis m'a indiqué la bonne direction, mais son code n'a pas fonctionné pour moi. Cela a:
Documentation: http://www.php.net/manual/en/function.date-default-timezone-get.php
Cette solution n'est pas seulement pour ceux qui n'ont pas un accès complet au système. Il est nécessaire pour tout script lorsque vous le fournissez à quelqu'un d'autre que vous. Vous ne savez jamais sur quel serveur le script s'exécutera lorsque vous le distribuerez à quelqu'un d'autre.
la source
Ce problème me dérange depuis un certain temps car je tente d'injecter un script "createbucket.php" dans le compositeur et je continue à être informé que mon fuseau horaire est incorrect.
En fin de compte, la seule chose qui a résolu le problème était de:
$ sudo nano /etc/php.ini
Rechercher le fuseau horaire
Assurez-vous de retirer le
;
Enfin
Et vous serez prêt à partir :)
la source
J'ai dû le mettre entre guillemets.
la source
/etc/php.ini: date.timezone = America/Los_Angeles
Vous pouvez définir le fuseau horaire dans votre
.htaccess
fichierla source
En plus de définir la date.timezone = comme mentionné dans plusieurs réponses, j'ai trouvé une erreur dans le fichier php.ini qui l'empêchait d'accéder à la date.timezone. La façon dont je l'ai trouvé était en exécutant php à partir de la ligne de commande dans un terminal. cela a provoqué une erreur à signaler à la ligne 114. Dans mon cas, j'avais commenté un paramètre pour afficher les erreurs qui avaient '|' entre 2 valeurs. Ça ne lui plaisait pas. J'ai supprimé l'une des valeurs et le | et tout allait bien après ça
la source
Une méthode simple pour deux fuseaux horaires.
la source
Pour php (ou votre emplacement).
la source
Une solution rapide pendant que vous rectifiez les incompatibilités est de désactiver le rapport d'erreurs dans votre
index.php
fichier:Insérez la ligne ci-dessous dans votre index.php ci-dessous
define( ‘_JEXEC’, 1 );
la source
J'héberge mon compartiment EC2 et S3 dans la région us-west-2 (Oregon). Lorsque j'appelais
$s3client->listBuckets()
pour répertorier les compartiments existants dans mon php, je recevais une exception -"Uncaught exception 'Exception' with message 'DateTime::__construct(): It is not safe to rely on the system's timezone settings...".
j'ai apporté les modifications ci-dessous pour le faire fonctionner. Partager ces détails au cas où quelqu'un serait confronté à un problème similaire et l'une des réponses ci-dessus n'a pas aidé.ntpstat
commande. Si vous obtenez une erreur, ce lien vous aide à savoir ce qui ne va pas.date.timezone
n'était pas défini sur une valeur et qu'il était également commenté par défaut. J'ai commenté en supprimant ';' avant cette ligne et définissez sa valeur sur"UTC"
et enregistré le fichier.sudo service httpd restart
etsudo service ntpd restart
.Après cela, je suis en mesure de répertorier les compartiments avec succès sans aucune exception. J'espère que cela t'aides.
la source
Si vous utilisez Plesk, essayez-le, d'abord, ouvrez les paramètres PHP, en bas de la page, changez date.timezone de DEFAULT en UTC.
la source
J'ai eu cette erreur en exécutant php-fpm dans une prison chroot. J'ai essayé de créer etc / php.ini et / usr / share / zoneinfo dans le répertoire chroot, mais cela n'a tout simplement pas fonctionné. J'ai même essayé d'étirer les démons php-fpm pour voir quel fichier ils manquaient - rien n'a sauté.
Donc, si Google vous amène ici parce que vous obtenez cette erreur lorsque vous utilisez php-fpm configuré pour chroot, vous pouvez probablement le corriger en ajoutant cette ligne
/etc/php-fpm.d/www.conf
dans la section ENV:Un redémarrage php-fpm est normalement nécessaire pour qu'il prenne effet. J'espère que cela aide quelqu'un là-bas.
la source
Dans mon cas particulier, j'ai configuré PHP pour utiliser PHP-FPM (FastCGI Process Manager). Lors de l'exécution à
phpinfo()
partir de CLI, j'ai vu le fuseau horaire correct que j'avais défini dans le php.ini, mais il était toujours incorrect dans le navigateur et provoquait l'échec de mon code. J'avais simplement besoin de redémarrer lephp-fpm
service sur le serveur.Vous devrez peut-être également redémarrer le
httpd
service si vous avez modifié lephp.ini
la source
Cette réponse ci-dessus de CtrlX est la bonne réponse, mais elle peut ne pas fonctionner complètement. J'ai ajouté cette ligne à mon fichier php.ini :
mais cela n'a pas supprimé l'erreur PHP pour tous mes fichiers car certains de mes scripts PHP sont dans des sous-dossiers. J'ai donc dû éditer le fichier .htaccess pour configurer php.ini à utiliser de manière récursive (dans les sous-dossiers):
où nom_compte est le nom de votre compte cpanel et public_html est le dossier dans lequel se trouve votre fichier php.ini.
la source
Pour l'utilisateur docker: créez un fichier timezone.ini local dans votre projet, configurez la configuration dans docker-compose.yml,
timezone.ini
la source
Si vous n'avez pas accès au fichier
php.ini
, créez ou modifiez un.htaccess
fichier à la racine de votre domaine ou sous et ajoutez ceci (généré par cpanel):la source
Il existe deux options pour résoudre ce problème
Tout d'abord, changez dans le fichier php.ini et mettez le fuseau horaire par défaut
Une fois, vous avez défini le fuseau horaire dans php.ini redémarrez le serveur
Deuxièmement, modifiez le fuseau horaire affecté à l'exécution en fonction de vos besoins
la source
Dans votre page de connexion, mettez un code comme celui-ci en
date_default_timezone_set("Africa/Johannesburg");
fonction de votre emplacement actuel.la source