learn

تغییر Timezone در PHP؛ تنظیم Asia/Tehran و ساعت وردپرس

راهنمای انتخاب منطقهٔ زمانی معتبر و تفکیک تنظیم PHP از ساعت سیستم‌عامل و تنظیمات وردپرس.

تغییر Timezone در PHP روی تفسیر و نمایش زمان در بخش‌هایی از برنامه اثر می‌گذارد که از منطقهٔ زمانی پیش‌فرض استفاده می‌کنند. این تنظیم ساعت سیستم‌عامل، زمان تمام دیتابیس‌ها و برنامهٔ cron را هم‌زمان عوض نمی‌کند. ابتدا مشخص کنید اختلاف ساعت دقیقاً در کدام بخش دیده می‌شود.

روش تغییر Timezone در PHP

در فایل تنظیمات مؤثر PHP یا ویرایشگر تنظیمات دامنه، مقدار date.timezone را با یک شناسهٔ معتبر وارد کنید. برای تهران نمونهٔ زیر مناسب است. ایجاد php.ini در هر پوشه به‌تنهایی تضمین اعمال آن نیست؛ روش خواندن تنظیمات را از پنل و نوع اجرای PHP مشخص کنید.

date.timezone = "Asia/Tehran"

در cPanel می‌توانید از Editor Mode ابزار MultiPHP INI Editor برای دامنهٔ درست استفاده کنید، اگر سرویس اجازه دهد. مقدار قبلی را ثبت کنید و فقط گزینهٔ مورد نیاز را تغییر دهید.

شناسهٔ منطقه بهتر از حدس‌زدن اختلاف ساعت است

نام منطقه با داده‌های زمان PHP تفسیر می‌شود. برای محاسبهٔ زمان‌های تاریخی یا تغییر قوانین محلی، یک اختلاف عددی ثابت همیشه معادل منطقهٔ واقعی نیست. نگهداری به‌روز داده‌های منطقهٔ زمانی اهمیت دارد. مرجع date.timezone نوع تنظیم و مقادیر نامعتبر را توضیح می‌دهد.

نمونهٔ دستور date.timezone با مقدار Asia/Tehran
نمونهٔ رابط قدیمی؛ نام و جای دکمه‌ها در نسخهٔ فعلی ممکن است متفاوت باشد. راهنمای بازبینی‌شدهٔ متن را مبنا قرار دهید.

اگر سایت وردپرسی است

برای زمان نمایش سایت، نخست تنظیمات، عمومی، ناحیهٔ زمانی را بررسی کنید و شهر تهران را انتخاب کنید. سپس زمان محلی نمایش‌داده‌شده را کنترل کنید. از تغییر سراسری timezone با کد قالب برای اصلاح ساعت وردپرس پرهیز کنید؛ خود وردپرس API و تنظیم منطقهٔ زمانی سایت دارد.

در توسعهٔ وردپرس، توابع سازگار مانند wp_timezone و wp_date را متناسب با نیاز به کار ببرید. راهنمای تنظیمات عمومی و مرجع منطقهٔ زمانی سایت تفاوت این تنظیم با پیش‌فرض PHP را روشن می‌کنند.

چه چیزهایی جدا بررسی می‌شوند؟

  • لاگ وب‌سرور یا سیستم‌عامل ممکن است با منطقهٔ دیگری ثبت شود.
  • دیتابیس و برنامه می‌توانند زمان UTC ذخیره کنند و هنگام نمایش تبدیل انجام دهند.
  • زمان‌بندی cron سرور الزاماً از date.timezone برنامه پیروی نمی‌کند.
  • کتابخانه یا خود برنامه می‌تواند منطقهٔ زمانی صریحی برای یک تاریخ تعیین کند.

کنترل نتیجه بدون تغییر تاریخ داده‌ها

یک زمان شناخته‌شده را در همان محیط وب و بخش مشکل‌دار بررسی کنید. تبدیل نمایش را با بازنویسی تاریخ رکوردهای قبلی اشتباه نگیرید. تاریخ انتشار نوشته‌ها را برای رفع اختلاف ساعت گروهی تغییر ندهید. اگر اختلاف باقی ماند، مقدار مؤثر PHP، تنظیم برنامه و منطقهٔ زمانی منبع داده را جدا ثبت کنید.

مطالعهٔ مرتبط

بازبینی فنی: ۱۳ آبان ۱۴۰۵. تاریخ انتشار اولیه و نشانی قبلی حفظ شده‌اند.

مطالب مرتبط

ارسال نظر

فهرست مطالب