İçeriğe geç
KAMPANYA Kurumsal Web Paketi — $499'dan başlayan fiyatlar Web & Logo Tasarımı · Kurumsal E-posta · LiteSpeed + CloudLinux · Imunify360 Güvenlik · cPanel Yönetim · 3 Gbps DDoS Koruması 00 Gün 00 Saat 00 Dk 00 Sn
AIOR

How to Edit PHP.ini for PHP 8.2 on DirectAdmin — Step-by-Step Configuratio

Sektör topluluğu — sorularınız, deneyimleriniz ve duyurularınız için.

How to Edit PHP.ini for PHP 8.2 on DirectAdmin — Step-by-Step Configuratio

Aior

Administrator
Staff member
Joined
Apr 2, 2023
Messages
895
Reaction score
2
Points
18
Age
40
Location
Turkey
Website
aior.com
1/3
Thread owner

DirectAdmin sunucularda PHP.ini dosyasını düzenlemek, yüklenebilecek dosya boyutundan zaman aşımına, açık modül listesinden hata raporlamaya kadar bir uygulamanın çalışma profilini doğrudan etkiler. PHP 8.2 sürümünde tek bir global PHP.ini değil, hem genel yapılandırma hem hesap bazlı ek yapılandırma birlikte yürür. Doğru dosyayı, doğru zamanda düzenlemek bu yüzden önemlidir.

1) Doğru dosya yolu
DirectAdmin CustomBuild ile derlediği PHP-FPM için PHP.ini dosyasını şu yolda tutar:
Code:
/usr/local/php82/lib/php.ini
Komut satırında php -i | grep "Loaded Configuration File" ile aktif dosyayı doğrulayın. Eğer DirectAdmin'in standart PHP'si farklı bir sürümse /usr/local/php82/lib/ yolu hâlâ geçerlidir ama php82-fpm servisi olarak çalışır.

2) Hesap bazlı PHP.ini
Tek bir hesap için ayrı yapılandırma istiyorsanız, hesabın evinde /home/kullanici/php_ini.php82.conf dosyasını oluşturun veya DirectAdmin paneli üzerinden "User Level > PHP Settings" menüsünü kullanın. Bu dosya, global PHP.ini'yi geçersiz kılar ve sadece o hesaba uygulanır. Çok kiracılı sunucularda bu, en güvenli yaklaşımdır.

3) En çok değiştirilen direktifler
  • upload_max_filesize = 256M — yüklenebilir dosya boyutu.
  • post_max_size = 256M — post body limiti; upload_max'ten büyük veya eşit olmalı.
  • memory_limit = 512M — script bellek limiti; bellek hatalarını önler.
  • max_execution_time = 300 — uzun süren işlemler için.
  • max_input_vars = 5000 — büyük formlar için.
  • date.timezone = Europe/Istanbul — tarih uyumu.
  • display_errors = Off — üretim ortamında kapalı kalmalı.
  • opcache.enable = 1 — performans için kritik.

4) FPM havuzu üzerinden override
PHP-FPM havuzu, php_admin_value direktifleriyle PHP.ini'yi geçersiz kılabilir. DirectAdmin'in havuz dosyası şu yoldadır:
Code:
/usr/local/php82/etc/php-fpm.d/kullanici.conf
İçinde php_admin_value[upload_max_filesize] = 512M gibi satırlar tek hesap için override yapar. Bu yöntem, ortak php.ini'yi değiştirmeden bir hesaba özel ayar verir.

5) Değişikliği uygulamak
PHP.ini'de yapılan değişiklik FPM servisi yeniden başlatılana kadar etkili olmaz:
Code:
systemctl restart php-fpm82
veya CustomBuild kullanılıyorsa:
Code:
/usr/local/directadmin/custombuild/build php82_fpm_restart

6) Doğrulama
Code:
php82 -i | grep "upload_max_filesize"
veya tarayıcı üzerinden phpinfo() sayfasına bakın. Eğer değer eski hâliyle kalıyorsa havuz reload edilmemiş veya dosya yanlış konumda olabilir.

7) Sık karşılaşılan tuzaklar
  • post_max_size'ı upload_max_filesize'dan küçük bırakmak: yükleme sessizce reddedilir.
  • memory_limit ile WHMCS/WP arasındaki uyumsuzluk: 256M altında ciddi sayfa eski hâline döner.
  • display_errors=On bırakmak: üretimde güvenlik açığıdır; hata mesajlarında dosya yolları sızar.
  • disable_functions listesini bozmak: exec, shell_exec, passthru, system gibi fonksiyonlar dikkatli ele alınmalı.

8) Yedekleme alışkanlığı
Düzenlemeden önce mevcut php.ini'yi tarihli yedeğe alın:
Code:
cp /usr/local/php82/lib/php.ini /usr/local/php82/lib/php.ini.bak.$(date +%F)
Bu, hatalı bir değişiklikten saniyeler içinde geri dönmenizi sağlar.


Editing PHP.ini on DirectAdmin under PHP 8.2 controls everything from upload size and execution time to extension loading and error reporting. Modern DirectAdmin uses CustomBuild, which keeps its PHP installation under /usr/local/php82, and adds optional per-account override layers on top. Knowing which file to edit and when to restart is the difference between a one-minute change and a confusing hour.

1) The correct file path
CustomBuild stores the PHP.ini for PHP-FPM 8.2 at:
Code:
/usr/local/php82/lib/php.ini
Confirm the active file at runtime with php82 -i | grep "Loaded Configuration File". If DirectAdmin's default PHP is a different version, this path is still where the 8.2 service reads from.

2) Per-account php.ini
For a single-account override, create /home/USER/php_ini.php82.conf or use DirectAdmin's "User Level > PHP Settings" UI. This file supersedes the global PHP.ini for the account in question, which is the safest option on a multi-tenant server.

3) Most-edited directives
  • upload_max_filesize = 256M — max upload size per file.
  • post_max_size = 256M — request body limit, must be >= upload_max_filesize.
  • memory_limit = 512M — script memory ceiling.
  • max_execution_time = 300 — for long-running jobs and reports.
  • max_input_vars = 5000 — for forms with many fields.
  • date.timezone = Europe/Istanbul — set explicitly to silence the warning.
  • display_errors = Off — keep off in production to avoid leaking paths.
  • opcache.enable = 1 — critical for performance.

4) Override through the FPM pool
PHP-FPM pools can override PHP.ini via php_admin_value directives. DirectAdmin's pool file lives at:
Code:
/usr/local/php82/etc/php-fpm.d/USER.conf
Lines like php_admin_value[upload_max_filesize] = 512M apply only to that user's pool, leaving the shared php.ini untouched. This is the most surgical override path on shared hosting.

5) Apply the change
PHP.ini edits do not take effect until FPM reloads:
Code:
systemctl restart php-fpm82
Or, via CustomBuild:
Code:
/usr/local/directadmin/custombuild/build php82_fpm_restart

6) Verification
Code:
php82 -i | grep "upload_max_filesize"
Or check phpinfo() in a browser. If the value still shows the old number, FPM did not reload, or you edited a file that the pool is not reading.

7) Common pitfalls
  • post_max_size smaller than upload_max_filesize — uploads fail silently.
  • memory_limit below 256M — WHMCS and modern WP frequently break.
  • display_errors=On in production — leaks file paths in error pages, security regression.
  • Editing disable_functions carelessly — many applications depend on shell_exec or system being available; others depend on them being blocked.

8) Backup habit
Before each edit, snapshot the current php.ini with a dated copy:
Code:
cp /usr/local/php82/lib/php.ini /usr/local/php82/lib/php.ini.bak.$(date +%F)
This lets you revert a broken change in seconds instead of digging through CustomBuild artefacts.
 

Forum statistics

Threads
891
Messages
898
Members
27
Latest member
AIORAli

Members online

No members online now.

Featured content

AIOR
AIOR TEKNOLOJİ

Tüm ihtiyaçlarınız için Teklif alın

Hosting · Domain · Sunucu · Tasarım · Yazılım · Mühendislik · Sektörel Çözümler

Teklif al

7/24 Destek · Anında yanıt

Back
Top