suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Funktioniert nicht mit der Funktion fopen() in PHP (Apache, Linux Mint)

<p>fopen() funktioniert auf meinem lokalen Apache2-Server unter Linux Mint nicht</p> <pre class="brush:php;toolbar:false;"><?php error_reporting(E_ALL); ini_set('display_errors',1); include_once "c&f.php"; fopen("test.txt", 'w');</pre> Die Datei <p>test.txt</code> wird erstellt und ich kann sie mit Sublime öffnen und darauf schreiben. Das Verzeichnis für dieses spezielle Projekt ist <code>/var/www/site02</code>. Bei der Konfiguration von Apache2 nach der Installation habe ich speziell den Besitzer dieses spezifischen Verzeichnisses (site02) geändert, um Dateien lesen und schreiben zu können (sudo chown $USER:$USER -R... Sie verstehen, was ich meine). Tatsächlich kann ich mit meinem Benutzerkonto in diesem Verzeichnis lesen und schreiben (ich kann in diesem Verzeichnis ohne „sudo“ Cli-Git-Befehle frei verwenden). </p> <p>Wenn ich mit dem oben genannten Code auf <code>index.php</code> zugreife, erhalte ich die folgende Fehlermeldung: </p> <blockquote> <p>"Warnung: fopen(test.txt): Stream kann nicht geöffnet werden: Berechtigung verweigert in /var/www/site02/index.php, Zeile 6"</p> </blockquote> <p>Was ist passiert? Ich habe versucht, das Problem zu googeln, habe aber tausende verschiedene Gründe gefunden, die mich nur noch mehr verwirrt haben. Ist das Problem ein Problem mit dem Apache-Server? Oder muss ich einige Konfigurationsänderungen an PHP vornehmen? </p>
P粉722409996P粉722409996467 Tage vor528

Antworte allen(1)Ich werde antworten

  • P粉107772015

    P粉1077720152023-08-14 11:21:06

    所以,在发布这个问题后,我决定用文件管理器(Thunar)打开 /var/www/site02 来检查图形界面下的权限。是的,这个目录的所有者是我,我可以读取和写入。组是 我的用户名,权限也是读取和写入。但是对于“其他人”,只有一个权限:读取。我把它改成了读取和写入。并用一些代码进行测试:

    $fh = fopen("test.txt", 'w') or die("error writing the file");
    
        $text = <<<_END
        line 1
        line 2
        line 3
        _END;
    
        fwrite($fh, $text) or die("error writing the file");
        fclose($fh);
        echo "成功!";

    而且它成功了!

    Antwort
    0
  • StornierenAntwort