در سرورهای مجازی یا اختصاصی تغییر timezone فقط با دسترسی روت روی سرور و توسط مدیر سرور صورت میگیرد. این امکان برای مدیران هاست های اشتراکی از طریق سرور وجود ندارد. چرا که نمیتوان در یک لحظه timezone های مختلفی روی سرور تنظیم کرد.
چرا به Time Zone صحیح نیازمندیم؟
موقعیت زمانی یک سرور بسته به موقعیت فیزیکی آن تنظیم میشود. به عنوان مثال وقتی شما از ما هاست آلمان تهیه میکنید موقعیت زمانی سرور بر روی آلمان تنظیم شده است. در این شرایط اگر شما بخواهید اسکریپت خاصی را روی وب سایت خود اجرا کنید که در زمان خاصی به وقت ایران کاری انجام دهد یا یک کرون را اجرا میکنید آن کرون در زمان اعلام شده توسط شما به وقت آلمان اجرا میشود.
پس شما برای مواردی مانند مدیریت log های وب سایت خود، یا آمار بازدید و عملکرد صحیح کرون جاب ها به تغییر Time Zone سایت خود نیاز پیدا خواهید کرد.
اطلاع پیدا کردن از Time Zone وب سایت
اگر شما میخواهید از موقعیت زمانی فعلی سرور خود استفاده کنید این کار با روش های مختلفی قابل انجام است. ما در این آموزش به شما خواهیم گفت که چگونه از طریق تابع phpinfo خود پی به مقدار Time Zone وب سایت خود ببرید.
بعد از وارد شدن به محیط هاست خود وارد مسیر public_html شوید و یک فایل با نام دلخواه مثلا test.php را ایجاد کرده و محتویات زیر را داخل آن بنویسید:
1 2 3 |
<?php phpinfo(); ?> |
سپس فایل را در مرورگر خود باز نمائید:
1 |
domain.com/test.php |
در صفحه باز شده عبارت timezone را جست و جو کنید:
همانگونه که ملاحظه میکنید موقعیت زمانی سرور شما قابل مشاهده خواهد بود.
تنظیم Time Zone مورد نظر در هاست سی پنل
حال برای اینکه شما بخواهید مقدار موقعیت زمانی وب سایت خود را تغییر دهید ابتدا باید بتوانید تشخصی دهید که چه مقداری برای شما قابل تنظیم است. مثلا فرض کنید میخواهیم موقعیت زمانی ایران را بر روی وب سایت خود فعال کنیم. برای این کار ابتدا به وب سایت رسمی PHP سر میزنیم و قاره مورد نظر خود را انتخاب میکنیم:
سپس از صفحه باز شده به جست و جوی شهر مورد نظر خود میپردازیم:
همانطور که مشاهده میکنید برای Time Zone با موقعیت ایران مقدار Asia/Tehran صحیح است. شما میتوانید با استفاده از این روش مقدار صحیح موقعیت های دلخواه خود را بیابید.
حال کافیست از صفحه اصلی کنترل پنل سی پنل خود از بخش SOFTWARE بر روی گزینه MultiPHP INI Editor کلیک کنید:
در صفحه باز شده دو تب با نام های Basic Mode و Editor Mode وجود دارد. به صورت پیش فرض صفحه پیش روی شما همان Basic Mode است. در اینجا در صورتی که قبلا فایل php.ini را ایجاد نکرده اید مانند شکل زیر ابتدا آن را بسازید. باید از بخش Configure PHP INI basic settings دامنه هاست خود را انتخاب کنید:
نکته: در صورت تمایل میتوانید تنظیمات دلخواه php.ini وب سایت خود را نیز از این بخش و مطابق نیاز خود انجام دهید.
بعد از ذخیره و ایجاد فایل php.ini حال به تب بعدی که همان تب Editor Mode می باشد میرویم و از بخش Edit PHP INI settings دامنه هاست خود را انتخاب میکنیم و Time Zone مورد نظر را در انتهای آن اضافه میکنیم:
مقداری که به آن اضافه باید اضافه گردد عبارت زیر است که میتواند به نسبت Time Zone مورد نیاز شما متفاوت باشد:
1 |
date.timezone = "Asia/Tehran" |
اگر شما از قبل فایل php.ini را روی هاست خود ایجاد کرده اید طبیعتا دیگر نیاز به فعال سازی آن از طریق تب Basic Mode ندارید و مستقیما از طریق تب Editor Mode نسبت به اضافه کردن Time Zone برای هاست خود اقدام نمائید
نکته: حتما بعد از تست اعمال شدن Time Zone جدید روی هاست خود نسبت به پاک کردن فایل test.php از روی هاست اقدام نمائید.
امیدواریم که این آموزش نیز برای شما مفید واقع شده باشد و شما بتوانید به سادگی و با استفاده کنترل پنل سی پنل مقدار timezone مورد نیاز خود را وارد نمائید.