Heim  >  Artikel  >  Backend-Entwicklung  >  centos7 – Seltsames Problem mit Lese- und Schreibberechtigungen für PHP-Dateien [alle 777+Apache:Apache]?

centos7 – Seltsames Problem mit Lese- und Schreibberechtigungen für PHP-Dateien [alle 777+Apache:Apache]?

WBOY
WBOYOriginal
2016-12-01 00:56:432411Durchsuche

Wie bereits erwähnt, ist mein aktuelles Website-Verzeichnis /var/www/html (777 Berechtigungen)
Dann meine
/var/www/html/g/data/visit.php-Datei

<code>require("../function.php");
if (file_exists($_SERVER["DOCUMENT_ROOT"]. "/cache/vc-$date.json")) {
    echo file_get_contents($_SERVER["DOCUMENT_ROOT"]. "/cache/vc-$date.json");
} else {
    $res=get_sum();
    $days1=get_days(1);
    $month=get_this_month();

    $result=["visit"=>$res,'days'=>$days1,'month'=>$month];
    $echo = json_encode($result);
    cache_this($echo,'vc-'.$date);
    echo $echo;
}

</code>

function.php

<code>function cache_this($result,$name){//内容,命名规则
  //file_put_contents("/cache/$name.json", $result)or die("Unable to open file!");

    $myfile = fopen($_SERVER['DOCUMENT_ROOT']."/cache/$name.json", "w") or die("Unable to open file!");
    $txt = $result;
    fwrite($myfile, $txt);
    fclose($myfile);
}</code>

Dies ist Teil des Ergebnisses meines ls -l

<code>-rwxrwxrwx.  1 root   root        81 11月  4 2013 bottom.php
drwxrwxrwx.  2 apache apache    4096 11月 10 17:09 cache</code>

Dann habe ich mir den Benutzer und die Gruppe in httpd.conf angesehen und festgestellt, dass mit Apache nichts falsch war.
Aber die JSON-Datei konnte einfach nicht in den Cache-Ordner geschrieben werden und $myfile gab immer false zurück.
Bitte sagen Sie mir, was dieses Problem ist. Die Diskussionsgruppe von Double Eleven Centos ist voller Kommentare und ich habe nicht herausgefunden, was los ist...
Dringende Bitte... …………(machtlos

Antwortinhalt:

Wie bereits erwähnt, ist mein aktuelles Website-Verzeichnis /var/www/html (777 Berechtigungen)
Dann meine
/var/www/html/g/data/visit.php-Datei

<code>require("../function.php");
if (file_exists($_SERVER["DOCUMENT_ROOT"]. "/cache/vc-$date.json")) {
    echo file_get_contents($_SERVER["DOCUMENT_ROOT"]. "/cache/vc-$date.json");
} else {
    $res=get_sum();
    $days1=get_days(1);
    $month=get_this_month();

    $result=["visit"=>$res,'days'=>$days1,'month'=>$month];
    $echo = json_encode($result);
    cache_this($echo,'vc-'.$date);
    echo $echo;
}

</code>

function.php

<code>function cache_this($result,$name){//内容,命名规则
  //file_put_contents("/cache/$name.json", $result)or die("Unable to open file!");

    $myfile = fopen($_SERVER['DOCUMENT_ROOT']."/cache/$name.json", "w") or die("Unable to open file!");
    $txt = $result;
    fwrite($myfile, $txt);
    fclose($myfile);
}</code>

Dies ist Teil des Ergebnisses meines ls -l

<code>-rwxrwxrwx.  1 root   root        81 11月  4 2013 bottom.php
drwxrwxrwx.  2 apache apache    4096 11月 10 17:09 cache</code>

Dann habe ich mir den Benutzer und die Gruppe in httpd.conf angesehen und festgestellt, dass mit Apache nichts falsch war.
Aber die JSON-Datei konnte einfach nicht in den Cache-Ordner geschrieben werden und $myfile gab immer false zurück.
Bitte sagen Sie mir, was dieses Problem ist. Die Diskussionsgruppe von Double Eleven Centos ist voller Kommentare und ich habe nicht herausgefunden, was los ist...
Dringende Bitte... …………(machtlos

SELinux-Status anzeigen

Warum muss in das Stammverzeichnis geschrieben werden?

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn