Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menyelesaikan masalah keizinan yang tidak mencukupi dalam php fopen
Penyelesaian kepada masalah php fopen tidak mempunyai kebenaran yang mencukupi: 1. Buka tetingkap arahan terminal 2. Jalankan arahan "sudo chmod 666 testOpen.php" dalam terminal.
Persekitaran pengendalian artikel ini: sistem linux5.9.8, PHP versi 7.1, komputer DELL G3
PHP menggunakan fopen () fungsi Gesaan kebenaran tidak mencukupi apabila membuka fail
Fungsi PHP fopen()
Takrifan dan penggunaan fungsi: fungsi fopen() membuka fail atau URL .
Sintaks:
fopen(nama fail,mod,include_path,context)
Dua parameter terakhir adalah pilihan, kami hanya menggunakan dua parameter pertama, kod adalah seperti berikut:
<?php //打开文件流 $myfile = fopen("newfile.txt", "w") or die("Unable to open file!"); //向文件中写入字符串 fwrite($myfile, "Hello World"); //关闭文件句柄 fclose($myfile); ?>
Fungsi yang dilaksanakan oleh kod tersebut ialah: buka fail bernama newfile.txt dalam laluan semasa dalam mod penulisan, dan cuba buatnya jika fail itu tidak wujud. Selepas membuka fail, tulis rentetan Hello World pada fail, dan akhirnya tutup fail itu.
Tiada fail newfile.txt dalam laluan folder semasa Apabila melaksanakan kod di atas, ralat berikut berlaku:
Amaran: fopen(newfile.txt): gagal. strim terbuka: kebenaran Tidak mencukupi dalam
/home/yums/web/blog_for_r&d/scripts/testOpen.php pada baris 3
Tidak dapat membuka fail!
Kebenaran tidak mencukupi? Masalah yang paling biasa di bawah Linux ialah anda tidak mempunyai kebenaran untuk mencipta fail pada cakera keras? Saya cuba memberikan kebenaran yang lebih tinggi kepada testOpen.php, jadi saya melaksanakan arahan berikut dalam terminal:
sudo chmod 666 testOpen.php
Dengan cara ini, fail PHP akan mendapat kebenaran untuk mencipta fail, dan saya akan memuat semula halaman . Cuba temuduga, WTF, ia masih soalan yang sama!
Amaran: fopen(newfile.txt): gagal membuka strim: Kebenaran tidak mencukupi dalam
/home/yums/web/blog_for_r&d/scripts/testOpen.php pada baris 3
Tidak dapat untuk membuka fail!
Lupakan, saya tidak memerlukan fungsi ini untuk mencipta fail. Saya menggunakan gedit untuk mencipta fail newfile.txt sendiri. Oleh itu, saya melaksanakan arahan berikut dalam terminal:
gedit newfile.txt
Dengan cara ini, saya mencipta fail dan menyegarkannya, bagaimanapun, kebenaran itu masih tidak mencukupi fail newfile.txt mempunyai. Jalankan perintah berikut dalam terminal:
ls -all
Saya mendapati bahawa newfile.txt yang dibuat dengan Notepad hanya mempunyai kebenaran membaca dan tiada kebenaran menulis, masalahnya terletak di sini kebenaran menulis fail newfile.txt Kebenaran:
sudo chmod 666 newfile.txt
Sekarang muat semula halaman, tiada ralat dilaporkan dan rentetan yang sepadan ditulis dalam fail.
Pembelajaran yang disyorkan: "Tutorial Video PHP"
Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan masalah keizinan yang tidak mencukupi dalam php fopen. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!