cari

Rumah  >  Soal Jawab  >  teks badan

Bagaimana untuk log "amaran tidak digunakan" dalam Yii2 tanpa menunjukkannya

<p>Untuk menukar daripada PHP 8.0 kepada 8.1, saya menemui banyak paparan PHP <em>Amaran Dihentikan</em> Saya hanya boleh mematikannya, tetapi lebih baik untuk membetulkannya untuk PHP 8.2, jadi saya cuba mendapatkan pencatat senyap amaran ini apabila aplikasi saya berjalan dalam PHP 8.1. Apakah tetapan yang perlu saya buat dalam Yii 2 dan PHP? Adakah ini mungkin? </p> <p>Apabila saya menetapkan PHP kepada <code>error_reporting( E_ALL );</code>, aplikasi Yii 2 memaparkan ralat. Ini bukan cara "senyap". </p> <p>Konfigurasi Yii2: Fail<em>main.php</em></p> <pre class="brush:php;toolbar:false;">'targets' => [ 'class' => 'yiilogFileTarget', 'levels' => ['ralat', 'amaran'], ],</pre> <p>Bagaimanakah saya hanya log amaran PHP ini tanpa menghentikan kod daripada berjalan? </p>
P粉328911308P粉328911308490 hari yang lalu589

membalas semua(1)saya akan balas

  • P粉546179835

    P粉5461798352023-09-06 00:08:27

    Cuba ini:

    'log' => [
        'traceLevel' => YII_DEBUG ? 3 : 0,
        'targets' => [
            [
                'class' => 'yii\log\FileTarget',
                'categories' => ['yii\base\*'],
                'levels' => ['error', 'warning','deprecated'],
                'logFile' => '@runtime/logs/php_warnings.log',
            ],
    ],

    Kini, amaran PHP akan dilog tanpa menghentikan pelaksanaan kod. Walau bagaimanapun, untuk mencapai cara "senyap" log masuk amaran PHP sepenuhnya, anda perlu melaraskan tetapan untuk pelaporan ralat PHP.

    Buka fail konfigurasi PHP anda (php.ini).

    Cari arahan error_reporting dan ubah suai untuk memasukkan E_WARNING. Contohnya:

    error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT & ~E_NOTICE | E_WARNING

    Dengan memasukkan E_WARNING anda memastikan amaran PHP dilog, tetapi jenis ralat lain tidak.

    Simpan fail konfigurasi PHP dan mulakan semula pelayan web anda untuk perubahan berkuat kuasa. Dengan perubahan ini, Yii2 akan log amaran PHP ke fail log yang ditentukan sambil membenarkan pelaksanaan kod diteruskan. Anda boleh melihat fail log (php_warnings.log) untuk mengumpul dan mengendalikan amaran PHP.

    balas
    0
  • Batalbalas