PHP Ayarlarını Değiştirme
ServBay, yerleşik bir PHP ortamı ile birlikte gelir ve esnek yapılandırma seçenekleri sunar. Bu yazı, ServBay'deki PHP ayarlarını nasıl değiştireceğinizi, php.ini
ve php-fpm.conf
dosyalarının yerleri ile yaygın yapılandırma öğelerini içerecek şekilde ayrıntılı olarak açıklayacaktır. PHP sürümüne bağlı olarak, bu dosyalar /Applications/ServBay/etc/php/<version>
dizininde bulunur. Ayrıca, PHP modüllerinin yükleme yapılandırma dosyaları (örneğin xdebug.ini
), /Applications/ServBay/etc/php/<version>/conf.d
dizininde yer alır.
Önemli Uyarı
Lütfen yapılandırma dosyalarını elle değiştirmeyin. Tüm yapılandırma dosyaları ServBay tarafından otomatik olarak oluşturulur ve elle yapılan değişiklikler üzerine yazılabilir. Değişiklikleri UI arayüzü üzerinden yapınız.
Genel Bakış
ServBay'de, PHP'nin yapılandırma dosyaları sürüme göre farklı dizinlerde saklanır. Örneğin, PHP 8.3 yapılandırma dosyaları /Applications/ServBay/etc/php/8.3
dizininde yer alır. Bu yapılandırma dosyalarının detaylı konumları aşağıdaki gibidir:
php.ini
:/Applications/ServBay/etc/php/8.3/php.ini
php-fpm.conf
:/Applications/ServBay/etc/php/8.3/php-fpm.conf
- PHP modül yükleme yapılandırma dosyaları:
/Applications/ServBay/etc/php/8.3/conf.d/
ServBay'in UI Arayüzü ile Değişiklik Yapma
ServBay, kullanıcıların farklı yapılandırma parametrelerini yönetim arayüzünde doğrudan değiştirebileceği güçlü bir grafik arayüze sahiptir. Kaydettikten sonra, değişiklikler otomatik olarak uygulanır ve anında etkili olur, böylece kullanıcılar için elle parametre düzenleme zahmetini ortadan kaldırır.
Sol navigasyonda dil
seçeneğini açın, değiştirmek istediğiniz PHP sürümünü seçin, sağda düzenleme menüsünü göreceksiniz. Tipik bir arayüz aşağıdaki gibidir:
Arayüzde, 3 farklı yapılandırma öğesi bulunmaktadır. Bunlar PHP-FPM, PHP ve PHP modüllerini temsil eder. Aşağıda bunlar sırayla açıklanacaktır.
PHP FPM
İpucu
php-fpm.conf
, Web sunucusunda PHP'nin çalışma performansını belirler, tüm ayarlar php.ini
dosyasındaki ayarları öncelikli olarak (üzerine yazarak) geçersiz kılar.
Ancak, bu ayarlar CLI'deki kodun performansını etkilemez.
İlk olarak PHP FPM yapılandırma arayüzü. İster Caddy ister NGINX kullanın, ServBay Web hizmetindeki PHP FPM biçiminde çalışır. Bu arayüzde, FPM süreçlerinin sayısını, bellek sınırını, günlük hata seviyesini, tarayıcıda hata mesajlarının gösterilip gösterilmeyeceğini ayarlayabilirsiniz.
Örneğin, Web üzerinde Memory Limit
'i 64M'den 1G'ye değiştirmek istiyorsak, sadece Memory Limit
açılır menüsünden 1G
'yi seçip kaydetmemiz yeterlidir. Bu değişiklik php.ini
yapılandırmasını etkilemez, PHP betikleri CLI modunda çalıştığında php.ini
'nin kontrolü altında olacaktır.
Varsayalım php.ini
yapılandırmasındaki Memory Limit
, 512M
ve PHP FPM
yapılandırmasındaki Memory Limit
, 128M
ise, aynı betik CLI altında çalıştığında kullanabileceği bellek 512M'dir, Web üzerinde ise kullanabileceği bellek 128M'dir.
php.ini
İpucu
php.ini
ayarları küreseldir ve CLI ile Web'deki performansını belirler. Ancak, php.ini
ayarları Web'de php-fpm.conf
tarafından üzerine yazılabilir.
PHP yapılandırma bölümü, php.ini
içindeki yapılandırma öğelerine karşılık gelir ve bu, PHP'nin çekirdek yapılandırma dosyasıdır.
Burada, post_max_size
gibi gönderim formunu etkileyen ve upload_max_filesize
gibi dosya yükleme boyutunu etkileyen çoğu php.ini
seçeneğini yapılandırabilirsiniz. Ayrıca, disable_functions
ve disable_classes
gibi işlevlerin devre dışı bırakılması da buradadır.
Dikkat edin, çünkü ayarlar küreseldir, open_basedir
'i ayarlamak istiyorsanız, site projelerini /Applications/ServBay/www``'da birleştirmeniz önerilir, böylece
open_basedir` ayarını yaparken birden fazla dizin ayarlamak zorunda kalmazsınız.
Ayrıntılı yapılandırma alanları için php.ini'nin resmi dokümantasyonuna başvurabilirsiniz.
Genişletme Modülleri
ServBay, xDebug
, OPcache
, Image Magick
, Redis
, MongoDB
, Phalcon
, Swoole
gibi yaygın olarak kullanılan birçok PHP genişletme modülüyle birlikte gelir. Ayrıntılı modül listesi için PHP Genişletme Modüller Listesi adresine bakınız.
PHP genişletme modüllerini etkinleştirmek oldukça basittir. Sadece açma kapama düğmesine tıklayın ve ardından kaydedin. xDebug gibi ek yapılandırma alanları olan modüller için, yapılandırma alanlarını doğrudan değiştirmek de çok kolaydır.
Yapılandırma Dosyalarını Elle Düzenleyerek Değiştirme
WARNING
Elle yapılandırma dosyalarını düzenlemek, yalnızca bazı yapılandırma öğelerinde geçici değişiklikler yapmak için uygundur.
PHP'nin yapılandırma dosyalarını elle değiştirmenizi önermiyoruz. Çünkü tüm değişiklikler ServBay tarafından üzerine yazılacaktır.
php.ini Yapılandırması
php.ini
dosyası, PHP'nin ana yapılandırma dosyasıdır ve PHP'nin çeşitli çalışma zamanı seçeneklerini ayarlamak için kullanılır.
Yaygın Yapılandırma Öğeleri
Aşağıda, bazı yaygın php.ini
yapılandırma öğeleri ve değiştirme yöntemleri verilmiştir:
Bellek Sınırını Değiştirme:
memory_limit = 256M
1Yükleme Dosya Boyutu Sınırını Değiştirme:
upload_max_filesize = 50M post_max_size = 50M
1
2Saat Dilimi Ayarını Değiştirme:
date.timezone = "Asia/Hong_Kong"
1Hata Gösterimini Etkinleştirme:
display_errors = On error_reporting = E_ALL
1
2Maksimum Çalışma Süresini Değiştirme:
max_execution_time = 300
1
php-fpm.conf Yapılandırması
php-fpm.conf
dosyası, PHP-FPM (FastCGI Process Manager) çalıştırma parametrelerini yapılandırmak için kullanılır.
Yaygın Yapılandırma Seçenekleri
Aşağıda bazı yaygın php-fpm.conf
yapılandırma öğeleri ve değiştirme yöntemleri verilmiştir:
İşlem Havuzu Ayarlarını Değiştirme:
[www] listen = /Applications/ServBay/tmp/php-cgi-8.3.sock listen.backlog = -1 listen.allowed_clients = 127.0.0.1 ;listen.owner = www ;listen.group = www listen.mode = 0666 ;user = www ;group = www pm = dynamic pm.max_children = 10 pm.start_servers = 2 pm.min_spare_servers = 1 pm.max_spare_servers = 6 pm.max_requests = 1024 pm.process_idle_timeout = 10s
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16Yavaş Logları Etkinleştirme:
request_slowlog_timeout = 5s slowlog = /Applications/ServBay/logs/php/8.3/slow.log
1
2Hata Log Yolu Değiştirme:
error_log = /Applications/ServBay/logs/php/8.3/errors.log
1
PHP Modül Yükleme Yapılandırması
PHP modül yükleme yapılandırma dosyaları /Applications/ServBay/etc/php/8.3/conf.d/
dizininde yer alır. Örneğin, xdebug.ini
, Xdebug genişletmesini yapılandırmak için kullanılır.
xdebug.ini Örneği
Aşağıda bir xdebug.ini
dosyasının örneği verilmiştir:
[Xdebug]
; Uncomment the following line to enable XDebug
zend_extension = xdebug.so
xdebug.mode=debug,develop
xdebug.start_with_request=yes
xdebug.client_host=localhost
xdebug.client_port=39083
xdebug.log=/Applications/ServBay/logs/xdebug/8.3/xdebug.log
2
3
4
5
6
7
8
PHP'yi Yeniden Başlatma
PHP yapılandırma dosyalarını değiştirdikten sonra, değişikliklerin etkili olabilmesi için PHP hizmetini yeniden başlatmanız gerekir. ServBay'in yönetim arayüzünü veya servbayctl
komut satırı aracını kullanarak yeniden başlatabilirsiniz.
ServBay Yönetim Arayüzü ile Yeniden Başlatma
- ServBay yönetim arayüzünü açın.
Hizmetler
bölümüne gidin.- İlgili PHP hizmeti sürümünü bulun ve
Yeniden Başlat
butonuna tıklayın.
servbayctl ile Yeniden Başlatma
servbayctl
komut satırı aracı ile PHP hizmetini kolayca yeniden başlatabilirsiniz:
servbayctl restart php 8.3
Özet
ServBay'de, PHP'nin yapılandırma dosyaları /Applications/ServBay/etc/php/<version>
dizininde yer alır ve php.ini
ile php-fpm.conf
dosyalarını içerir. PHP modül yükleme yapılandırma dosyaları, /Applications/ServBay/etc/php/<version>/conf.d/
dizininde bulunur. Bu yapılandırma dosyalarını değiştirdikten sonra, değişikliklerin etkili olması için ServBay'in yönetim arayüzü veya servbayctl
komut satırı aracı ile PHP hizmetini yeniden başlatabilirsiniz.