PHP: Comment lire la date/heure actuelle à partir du serveur, pas de php.ini
Voici mon problème:
echo date('Y-m-d H:i:s');
echo date('Y-m-d H:i:s', mktime());
echo exec('date');
La sortie est:
2012-03-21 08:45:51
2012-03-21 08:45:51
Wed Mar 21 10:45:51 EDT 2012
Serveur de temps est de 2 heures à partir du moment retournée par php date(); ou tout autre php fonction date/heure. Cela se produit parce que le serveur de temps de jeu à l'est et PHP.INI date.timezone="Amérique/Denver"
J'ai besoin de synchroniser ces deux, en utilisant date_default_timezone_set, mais je ne sais pas à l'avance quelle est la différence.
Est-il un autre moyen pour obtenir serveur local le temps d'exec?
UPD: je sais que le php.ini est pas bonne et que je peux le changer. Le problème est que ce script va travailler sur, personne ne sait quelle type de serveurs. Je ne peux pas aller à chacune et chacun d'entre eux et de corriger le php.fichier ini. Aussi, je ne sais pas à l'avance quel fuseau horaire sur ces serveurs. J'ai besoin d'une solution dynamique qui marche partout.
OriginalL'auteur NextScripts | 2012-03-21
Vous devez vous connecter pour publier un commentaire.
vous pouvez modifier l'ini date de fuseau horaire et d'impression de la date
php.ini
est mal configuré. Modifier votre fichier de configuration pour être précis et vous devriez être bien.Je sais que, le problème, c'est que ce script va travailler sur personne ne connaît ce type de serveurs. Je ne peux pas aller à chacune et chacun d'entre eux et de corriger le php.les fichiers ini. J'ai besoin d'une solution dynamique qui marche partout.
vous n'avez pas à corriger le fichier ini. ce que vous avez à mettre dans le haut du script
OriginalL'auteur zod
OriginalL'auteur Md. Tauhidul Islam
OU
certains hébergeurs vous donner la possibilité de modifier
php.ini
recherchez
php config
danscpanel
afin de le stocker dans TIMESTAMP puis et convertir pour chaque utilisateur directement
OriginalL'auteur Al Po
Sur *nix, vous pouvez utiliser les paramètres de mise en forme à
date
pour obtenir ce dont vous avez besoin:date +%z
— fuseau horaire (hhmm)date +%:z
— fuseau horaire (hh:mm)date +%Z
— l'abréviation du fuseau horaire (par exemple, "EDT")Faire un appel système (par exemple,
echo exec('date +%z');
) contournera les paramètres INI comme par date_default_timezone_get. Notez que cette fonction émet une erreur de niveau E_WARNING si il lit à partir de l'heure du système, et, en effet, à partir de PHP 5.4 il n'a même pas autoriser la lecture de celui — ci- en particulier, car elle ne peut pas être invoqué.Pour être cohérent, quel que soit les paramètres du serveur, vous devriez utiliser l'UTC au sein de votre application. Pour la facilité d'utilisation, GMT est assez proche de l'UTC pour la plupart des fins, de sorte que vous pouvez utiliser
gmdate()
.OriginalL'auteur cmbuckley