Pengecualian Laravel Aliran atau fail tidak dapat dibuka gagal untuk membuka kebenaran aliran ditolak

Pengecualian Laravel Aliran atau fail tidak dapat dibuka gagal untuk membuka kebenaran aliran ditolak

Ralat:

Salah satu aplikasi Laravel saya mula menunjukkan ralat berikut setelah saya memulakan semula contohnya. Mesej ralat ialah:

Aliran atau fail "/var/www/html/penyimpanan/log/laravel.log ”tidak dapat dibuka: gagal membuka aliran: kebenaran ditolak

Penyelesaian:

Mesej ralat ini menunjukkan bahawa proses PHP yang cuba menulis ke fail log tidak mempunyai kebenaran yang mencukupi untuk melakukannya. Terdapat beberapa perkara yang boleh anda cuba untuk menyelesaikan masalah ini:

  1. Periksa pemilikan dan keizinan fail log dan direktori induknya. Proses PHP mesti membaca dan menulis keizinan pada fail dan direktori induknya. Anda boleh menggunakan 'ls -l' perintah untuk memeriksa pemilikan dan kebenaran fail dan chmod dan chown untuk mengubahnya jika perlu.
    CHMOD -R 777/var/www/html/penyimpanan  
  2. Pastikan proses php berjalan sebagai pengguna yang betul. Sekiranya proses PHP berjalan sebagai pengguna yang berbeza daripada pemilik fail log, ia mungkin tidak mempunyai kebenaran yang mencukupi untuk menulis ke fail tersebut. Anda boleh menyemak dengan pengguna bahawa proses php berjalan dengan menggunakan arahan ps.
  3. Periksa log ralat PHP untuk maklumat lanjut. Log ralat php mungkin mengandungi maklumat yang lebih terperinci mengenai ralat, termasuk baris kod tepat yang menyebabkan masalah. Lokasi log ralat php biasanya ditentukan dalam php.fail konfigurasi ini.
  4. Pastikan fail log wujud dan boleh ditulis oleh proses php. Sekiranya fail log tidak wujud, proses PHP tidak akan dapat menulis kepadanya. Anda boleh membuat fail log dan menetapkan kebenaran yang betul menggunakan 'sentuh' dan 'chmod' Perintah.
    sentuh/var/www/html/penyimpanan/log/laravel.log  CHMOD 777/var/www/html/penyimpanan/log/laravel.log  
  5. CentOS dan pengguna sistem redhat lain mungkin telah diaktifkan selinux. Anda boleh menetapkan yang betul Selinux Dasar untuk 'penyimpanan' direktori dengan arahan berikut.
    chcon -r -t httpd_sys_rw_content_t/var/www/html/storan  
  6. Perintah berikut akan membantu anda membuat semua direktori berkaitan storan yang diperlukan.
    mkdir -p/path/to/laravel/storage/app, rangka kerja, log  mkdir -p/path/to/laravel/penyimpanan/rangka kerja/cache, sesi, pandangan  

    Kemudian Chnage pemilik Directoires dan berikan keistimewaan penuh kepada semua orang:

    chmod -r 777/laluan/ke/laravel/penyimpanan/  Chown -r www-data: www-data/laluan/ke/laravel/penyimpanan/  

    Pastikan untuk berubah '/jalan/ke/laravel' dengan direktori aplikasi laravel anda.

Saya harap cadangan ini dapat membantu. Beritahu saya jika anda mempunyai sebarang pertanyaan atau jika anda memerlukan bantuan lanjut.