Php bir dosyayı açmak mümkün değil

4 Cevap php

Kod fopen boğuculara ():

<?php 
  ini_set('display_errors',1);
  error_reporting(E_ALL);
  $fp = fopen("/path/to/file/some_file.txt","a") or die("can't open file");
  fwrite($fp,"some text");
  fclose($fp);
?>

Ve Oluşan web sayfasında diyor ki:

"Warning: fopen(/path/to/file/some_file.txt) [function.fopen]: failed to open stream: Permission denied in /var/www/html/test.php on line 5 can't open file"

Ben dosya izinleri ile oynamaya çalıştım, ama boşuna. I chown apache:apache some_file.txt ile kullanıcı / grubu değişti ve chmod 755 some_file.txt ile izinleri değişti. Burada ilgili sonucudur ls -l /path/to/file/,

-rwxr-xr-x 1 apache apache 0 Apr 12 04:16 some_file.txt

4 Cevap

Apache dosyayı okumak için izinler verilmiş olsa bile, siz de Apache'yi üst dizin TÜM erişim vermek zorunda olduğunu unutmayın.

/path/to/file/
/path/to
/path

Tüm Apache'yi en azından 'Oku' izin vermeniz gerekiyor.

Sen apache aslında PHP çalıştıran kullanıcı olduğundan emin misin? `

Ve: apache kullanıcı some_file.txt dosya sistemi ve some_file.txt yukarıdaki dizinleri bazı erişim kısıtlaması tarafından engellendi olmadığını ulaşabilirsiniz emin olun.

"a" yazmak için aynı izinleri ihtiyaç vardır, eklemek istediğiniz anlamına gelir.

Sen herkes tarafından yazmak için en az 666 izinler gerekir. Veya sunucu grubu (Ubuntu www-data) dosya sahibini değiştirin. Ve gerekli izni ayarlayın.

İşte Permission calculator

Bu yardımcı olmazsa, safe_mode da kontrol edin.

Before you go to fix an error, it would be nice to know, which error to fix.
Add these lines at the top of your script and then try again

ini_set('display_errors',1);
error_reporting(E_ALL);

PHP sorunun ne olduğunu size anlatacağım