belgeler/web-development/freeBSD-php-kurulumunda-timezone-ayari.md

45 lines
1.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# FreeBSD/PHP Kurulumunda Timezone Ayarı
Merhaba,
FreeBSD üzerinde kurulu PHP+Nginx web sunucumda tarih ile alakalı bazı sorunlar olduğunu farkettim. Şöyle ki sunucumda yapılan işlemlerde UTC+3 değil UTC+0 zaman dilimi kullanılıyor ve tüm işlemler 3 saat geriden yapılıyordu.
Durumdan emin olmak için bir test yapmak istedim. Saati veren bir PHP Scripti sunucumda çalıştırdım ve gerçekten de PHP işlemlerinde saat bilgisinin hatalı olduğunu farkettim. Kullandığım script ve verdiği çıktıyı aşağıya ekliyorum.
Kullandığım script;
```
<?php echo “Saat ” . date(“h:i:sa”); ?>
```
Bu scriptin verdiği saat bilgisi şöyle;
```
Saat 06:38:19am
```
Oysa sistem saati o anda;
```
# date
Thu Sep 1 09:38:20 +03 2022
```
Sistem saati UTC+3 olduğu halde PHP Scriptleri UTC+0 olarak sonuç veriyor. Bu durumu düzeltmek için php.ini dosyasında ufak bir değişiklik yapmamız gerekiyor. FreeBSD üzerinde standart PHP kurulumunda php.ini dosyasının yolu /usr/local/etc/php.ini olarak belirleniyor. Bu dosyayııp içerisindeki şu satırı bulunuz;
```
;date.timezone =
```
Bu satırın başındaki ; işaretini kaldırıp şu değeri verelim;
```
date.timezone = Europe/Istanbul
```
Burada ters slash işaretine dikkat edelim, normal slash konulursa ayar doğru çalışmıyor. Dosyayı kaydedip çıkarak kuruluma göre web sunucumuzu veya PHP-FPMi yeniden başlatıp sonucu kontrol edelim. Yukarıdaki scripti çağırdığımızda saat doğru geliyor ise PHP için time-zone ayarımızı başarı ile yapmışız demektir.
# Lisans
Bu makale Bedreddin Şahbaz tarafından yazılmıştır. BSD-3-Clause ile ruhsatlanmıştır.