間違った外部スペース VPS の関連ソリューション PHP time_PHP チュートリアル

WBOY
リリース: 2016-07-13 17:43:02
オリジナル
1086 人が閲覧しました

海外スペースを一時的に使用しているため、ブログを公開する時間がいつもずれてしまいます。これまでのプログラミングの経験に基づくと、これはタイムゾーンの問題です。この問題を解決するのは難しいことではありません。将来の参考のために解決策を書き留めておきます。

PHPスクリプト側の都市設定は、php.ini以下のdate.timezoneキーの値をAsia/Shanghaiに設定できます。ただし、通常、共有仮想ホスト自体には php.ini を変更する権限がありません。このとき、プログラムの公開部分に追加する必要があります
ini_set(date.timezone,アジア/上海);
php.ini設定の動的変更。その後、時間が正しいかどうかをテストできます:
var_dump(date());
サーバーの現地時間が正しければ、問題は通常解決されます。添付のとおり、PHP 5.1 以降では、対応するタイムゾーンを変更するための特別な関数が提供されます:
date_default_timezone_set(アジア/上海);
この機能の方が汎用性が高いので使用することをお勧めします。アジア/上海に対応して、使用できる他の本土のタイムゾーンは次のとおりです: アジア/重慶、アジア/上海、アジア/ウルムチ (順に、重慶、上海、ウルムチ) 香港と台湾で利用可能: アジア/マカオ、アジア。 /香港、アジア/台北 (マカオ、香港、台北の順)、シンガポール: アジア/シンガポール、その他の利用可能な値は次のとおりです: Etc/GMT-8、シンガポール、香港、中国; 外国人は北京を見逃しているようです。
しかし、PHP側でタイムゾーンの変更に成功した後、日付が正しく記録されていないことが分かりました。このとき、データベースの問題ではないかと考えました。当然のことながら、プログラムによって挿入された関数は PHP の時刻を呼び出すのではなく、MySQL の CURRECT_TIMESTAMP を直接使用するためです。このとき、MySQL のタイムゾーンを変更できるかどうかを検討する必要があります。
MySQL ドキュメントを参照すると、実行可能な SQL ステートメントを見つけました。
グローバルタイムゾーンを設定 = +8:00;
このうち+8:00は東8区の表現方法であり、他の都市部も類推できる。そして、change ステートメントをデータベース モデルに挿入すると、権限が不十分であることがわかりました (仮想ホスト プロバイダー)。次に、次のような多くのステートメントをデバッグしました:
DATE_ADD(UTC_TIMESTAMP(), 間隔 8 時間);
タイムゾーンを表示するSQL文:
system_time_zone のような変数を表示します
待って。 MySQL の権限制限により、完全な解決策はありません。グーグルで調べたところ、外国人が非常に良い解決策を持っていることがわかりました。ただし、データを挿入する各 SQL ステートメントを変更する必要があります。この解決策はあまり効果的ではありません。データベースのタイムゾーンを通常に変更した後は、対応する SQL ステートメントを元に戻す必要があります。
そして、PHP側はすでに時間の問題を正しく解決できているので、そう考えます。 MySQL データベースは対応する機能を使用して解決できますが、将来別のホスト環境に移行する場合は元に戻す必要があります。対応するフィールドは TIMESTAMP 型で、デフォルト値は CURRECT_TIMESTAMP です。もちろん、時間を指定することもできます。
それでは、PHP に現在の正しい時刻を挿入させるということなので、それに応じてプログラムを修正する必要がありますが。ただし、将来構成を変更する場合は、1 か所を変更するだけで済みます。最後にデータベースに挿入するときは、形式に注意してください:
Date(Y-m-d H:i:s) これで問題は解決します。追伸、非常に優れた参考資料をいくつか紹介します:
これで問題は解決します。追伸、本当に良い参考資料をいくつか紹介します:
http://www.BkJia.com/html/webkaifa/PHP/PHPyingyong/2010/0226/4000.html
更新: wiLdGoose 兄弟も同じ問題に遭遇したが、解決できなかったと述べています。さまざまな推測と判断を行った結果、最終的には Zend Studio のタイムゾーン設定の問題であることがわかりました(汗)。動作環境だけでなく、開発環境も以下の点に注意する必要があるようです。

http://www.bkjia.com/PHPjc/486013.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/486013.html技術記事一時的に海外スペースを利用しているため、ブログを公開する際にいつも時間がずれてしまいます。これまでのプログラミングの経験に基づくと、これはタイムゾーンの問題です。この問題の解決策は...
ではありません
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!