CodeBlanks Logo Icon CodeBlanks

Özet - Deployment

PHP kursu · Uzman · Ders 49/54

Docker, PHP-FPM, Nginx ve CI'yla tam bir dağıtım hattı yazarsın.

Üretim kontrol listesi

Üretim kontrol listesi: ini_set('display_errors', '0') hataları ekrana basmaz, ini_set('log_errors', '1') loglamayı açar, error_log($msg) mesajı dosyaya yazar.

Sürüm denetimi PHP_VERSION_ID >= 80300 ile yapılır; bu sayısal sabit major.minor.patch'ı tek tam sayıda taşır. PHP_SAPI çalışma modunu (cli, fpm) verir.

OPcache ayarlarından opcache.enable ve opcache.memory_consumption php.ini'de ayarlanır; opcache_get_status ile durum okunur, opcache_reset ile önbellek temizlenir.

Uygulama Üretim denetimi yaz

PHP ile bir üretim denetim betiği yaz: ini_set('display_errors', '0') ve ini_set('log_errors', '1') çağrılarını yap. Bir $cfg dizisine ini_get('display_errors') ve ini_get('log_errors') değerlerini koy ve her birini KEY=value biçiminde yazdır. PHP_VERSION_ID >= 80300 ise version=ok yazdır. sapi= ile PHP_SAPI değerini yazdır. opcache_get_status ve opcache_reset fonksiyonları varsa opcache=ready yazdır.

Örnek çözümü göster
'other') . "\n";.
Örnek çözüm:
<?php
// Üretim denetimi
ini_set('display_errors', '0');
ini_set('log_errors', '1');
error_log("denetim başladı");

$cfg = [];
$cfg['display_errors'] = ini_get('display_errors');
$cfg['log_errors'] = ini_get('log_errors');

foreach ($cfg as $key => $val) {
    echo $key . "=" . $val . "\n";
}

if (PHP_VERSION_ID >= 80300) {
    echo "version=ok\n";
}

echo "sapi=" . PHP_SAPI . "\n";

$opcache_enable = function_exists('opcache_get_status') && function_exists('opcache_reset');
if ($opcache_enable) {
    echo "opcache=ready\n";
}

$ver = phpversion();
echo "php=" . (str_starts_with($ver, '8.') ? '8.x' : 'other') . "\n";

Kendini test et

  1. Üretimde hataları ekrana basmamak için hangi ini_set çağrısı yapılır?

    • ini_set('log_errors', '1')
    • ini_set('error_log', '/var/log/php')
    • ini_set('display_errors', '0')
    • ini_set('memory_limit', '256M')
    Cevabı göster

    ini_set('display_errors', '0') — Doğru. ini_set('display_errors', '0') hataların ekrana basılmasını engeller.

  2. Sürüm denetimini tamamla

    <?php
    if (____ >= 80300) {
        echo "php: ok\n";
    }
    
    Cevabı göster
    <?php
    if (PHP_VERSION_ID >= 80300) {
        echo "php: ok\n";
    }
    
  3. Üretim kontrol listesini eşleştir

    display_errors=0
    Hataları gizler
    log_errors=1
    Loglamayı açar
    opcache.enable
    Bytecode önbelleği
    PHP_VERSION_ID
    Sürüm denetimi

Uzman bölümündeki tüm dersler