PHP - nur leere Seiten
bearbeitet von Regina SchaukrugEs handelt sich womöglich(!) um die Zugriffsrechte.
fopen( $datei, 'w') erfordert Schreibrechte. Wenn Du das Skript in einem Terminal ausführst hast Du diese offenbar, wenn der Apache das Skript mit seinen Rechten ausführt (oft, aber nicht immer) dann muss "www-data", "www-run" (oder als was der Apache auch immer läuft) dieses Recht haben. Da "jeder" also "others" Webseiten abrufen (und damit Dein PHP-Skript starten) kann ist es (in vielen, aber nicht allen Fällen) sinnvoll, die Rechte für "jeden" bzw. "others" zu vergeben.
In einem Terminal:
~~~bash
cd /var/www/html/
chmod 0666 textdatei.txt
ls -l textdatei.txt
~~~
Alternative 1:
~~~bash
cd /var/www/html/
chmod u=rw,g=rw,o=rw textdatei.txt
ls -l textdatei.txt
~~~
Alternative 2:
~~~bash
cd /var/www/html/
setfacl -m user::rw,group::rw,other::rw textdatei.txt
getfacl textdatei.txt
~~~
Du wirst Dich umfassend und gründlich über [Rechte im Linux/Unix-Dateisystem](https://code.fastix.org/Projekte/Meine%20Ebooks/Benutzerrechte%3A%20Access-Control-Lists%20%28ACLs%29%20unter%20Linux.pdf) informieren müssen.
~~~
~> man 1 chmod
~> man 1 chown
~> man 1 setfacl
~~~
Das oben verlinkte PDF und die im Block aufgeführten Manuals helfen Dir genau an diesem Punkt. Es folgen sicherlich weitere Probleme: Sei also dazu bereit, ziemlich viel lernen müssen bevor Du *"Irgendwas mit PHP"* richtig online stellst. Manche machen das (lernen) nicht und stehen dann "montags in der Computerbild".
Sollte die Datei 'textdatei.txt' (noch) nicht existieren, dann müsste der Server diese anlegen dürfen, dazu braucht der Server Schreibrechte an /var/www/html.
**Ich warne ausdrücklich davor, das zu tun, aber so wie das Skript aussieht müsste der Apache (also jeder) in /var/www/html schreiben dürfen.**
Sowas gehört nach außerhalb von `$_SERVER['DOCUMENT_ROOT']` verlegt! **Verschiebe also die Textdatei nach /var/www/data und gib dem Server die Rechte an genau diesem Verzeichnis und den darin befindlichen Dateien, ändere das Skript!**
PHP - nur leere Seiten
bearbeitet von Regina SchaukrugEs handelt sich womöglich(!) um die Zugriffsrechte.
fopen( $datei, 'w') erfordert Schreibrechte. Wenn Du das Skript in einem Terminal ausführst hast Du diese offenbar, wenn der Apache das Skript mit seinen Rechten ausführt (oft, aber nicht immer) dann muss "www-data", "www-run" (oder als was der Apache auch immer läuft) dieses Recht haben. Da "jeder" also "others" Webseiten abrufen (und damit Dein PHP-Skript starten) kann ist es (in vielen, aber nicht allen Fällen) sinnvoll, die Rechte für "jeden" bzw. "others" zu vergeben.
In einem Terminal:
~~~bash
cd /var/www/html/
chmod 0666 textdatei.txt
ls -l textdatei.txt
~~~
Alternative 1:
~~~bash
cd /var/www/html/
chmod u=rw,g=rw,o=rw textdatei.txt
ls -l textdatei.txt
~~~
Alternative 2:
~~~bash
cd /var/www/html/
setfacl -m user::rw,group::rw,other::rw textdatei.txt
getfacl textdatei.txt
~~~
Du wirst Dich umfassend und gründlich über [Rechte im Linux/Unix-Dateisystem](https://code.fastix.org/Projekte/Meine%20Ebooks/Benutzerrechte%3A%20Access-Control-Lists%20%28ACLs%29%20unter%20Linux.pdf) informieren müssen.
~~~
~> man 1 chmod
~> man 1 chown
~> man 1 setfacl
~~~
Das oben verlinkte PDF und die im Block aufgeführten Manuals helfen Dir genau an diesem Punkt. Es folgen sicherlich weitere Probleme: Sei also dazu bereit, ziemlich viel lernen müssen bevor Du *"Irgendwas mit PHP"* richtig online stellst. Manche machen das (lernen) nicht und stehen dann "montags in der Computerbild".
Sollte die Datei 'textdatei.txt' nicht existieren, dann müsste der Server diese anlegen dürfen, dazu braucht der Server Schreibrechte an /var/www/html.
**Ich warne ausdrücklich davor, das zu tun, aber so wie das Skript aussieht müsste der Apache (also jeder) in /var/www/html schreiben dürfen.**
Sowas gehört nach außerhalb von $_SERVER['DOCUMENT_ROOT'] verlegt! **Verschiebe also die Textdatei nach /var/www/data und gib dem Server die Rechte an genau diesem Verzeichnis und den darin befindlichen Dateien, ändere das Skript!**
PHP - nur leere Seiten
bearbeitet von Regina SchaukrugEs handelt sich womöglich(!) um die Zugriffsrechte.
fopen( $datei, 'w') erfordert Schreibrechte. Wenn Du das Skript in einem Terminal ausführst hast Du diese offenbar, wenn der Apache das Skript mit seinen Rechten ausführt (oft, aber nicht immer) dann muss "www-data", "www-run" (oder als was der Apache auch immer läuft) dieses Recht haben. Da "jeder" also "others" Webseiten abrufen (und damit Dein PHP-Skript starten) kann ist es sinnvoll, die Rechte für "jeden" bzw. "others" zu vergeben.
In einem Terminal:
~~~bash
cd /var/www/html/
chmod 0666 textdatei.txt
ls -l textdatei.txt
~~~
Alternative 1:
~~~bash
cd /var/www/html/
chmod u=rw,g=rw,o=rw textdatei.txt
ls -l textdatei.txt
~~~
Alternative 2:
~~~bash
cd /var/www/html/
setfacl -m user::rw,group::rw,other::rw textdatei.txt
getfacl textdatei.txt
~~~
Du wirst Dich umfassend und gründlich über [Rechte im Linux/Unix-Dateisystem](https://code.fastix.org/Projekte/Meine%20Ebooks/Benutzerrechte%3A%20Access-Control-Lists%20%28ACLs%29%20unter%20Linux.pdf) informieren müssen.
~~~
~> man 1 chmod
~> man 1 chown
~> man 1 setfacl
~~~
Das oben verlinkte PDF und die im Block aufgeführten Manuals helfen Dir genau an diesem Punkt. Es folgen sicherlich weitere Probleme: Sei also dazu bereit, ziemlich viel lernen müssen bevor Du *"Irgendwas mit PHP"* richtig online stellst. Manche machen das (lernen) nicht und stehen dann "montags in der Computerbild".
PHP - nur leere Seiten
bearbeitet von Regina SchaukrugEs handelt sich womöglich(!) um die Zugriffsrechte.
fopen( $datei, 'w') erfordert Schreibrechte. Da "jeder" also "others" Webseiten abrufen (und damit Dein PHP-Skript starten) kann ist es sinnvoll, die Rechte für "jeden" bzw. others zu vergeben.
In einem Terminal:
~~~bash
cd /var/www/html/
chmod 0666 textdatei.txt
ls -l textdatei.txt
~~~
Alternative 1:
~~~bash
cd /var/www/html/
chmod u=rw,g=rw,o=rw textdatei.txt
ls -l textdatei.txt
~~~
Alternative 2:
~~~bash
cd /var/www/html/
setfacl -m user::rw,group::rw,other::rw textdatei.txt
getfacl textdatei.txt
~~~
Du wirst Dich umfassend und gründlich über [Rechte im Linux/Unix-Dateisystem](https://code.fastix.org/Projekte/Meine%20Ebooks/Benutzerrechte%3A%20Access-Control-Lists%20%28ACLs%29%20unter%20Linux.pdf) informieren müssen.
~~~
~> man 1 chmod
~> man 1 chown
~> man 1 setfacl
~~~
Das oben verlinkte PDF und die im Block aufgeführten Manuals helfen Dir genau an diesem Punkt. Es folgen sicherlich weitere Probleme: Sei also dazu bereit, ziemlich viel lernen müssen bevor Du *"Irgendwas mit PHP"* richtig online stellst. Manche machen das (lernen) nicht und stehen dann "montags in der Computerbild".
PHP - nur leere Seiten
bearbeitet von Regina SchaukrugEs handelt sich womöglich(!) um die Zugriffsrechte.
fopen( $datei, 'w') erfordert Schreibrechte. Da "jeder" also "others" Webseiten abrufen (und damit Dein PHP-Skript starten) kann ist es sinnvoll, die Rechte für "jeden" bzw. others zu vergeben.
In einem Terminal:
~~~bash
cd /var/www/html/
chmod 0666 textdatei.txt
ls -l textdatei.txt
~~~
Alternative 1:
~~~bash
cd /var/www/html/
chmod u=rw,g=rw,o=rw textdatei.txt
ls -l textdatei.txt
~~~
Alternative 2:
~~~bash
cd /var/www/html/
setfacl -m user::rw,group::rw,other::rw textdatei.txt
getfacl textdatei.txt
~~~
Du wirst Dich umfassend und gründlich über [Rechte im Linux/Unix-Dateisystem](https://code.fastix.org/Projekte/Meine%20Ebooks/Benutzerrechte%3A%20Access-Control-Lists%20%28ACLs%29%20unter%20Linux.pdf) informieren müssen.
~~~
~> man 1 chmod
~> man 1 chown
~> man 1 setfacl
~~~
Das oben verlinkte PDF und die im Block aufgeführten Manuals helfen Dir genau an diesem Punkt. Es folgen sicherlich weitere Probleme: Sei also dazu bereit, ziemlich viel lernen müssen bevor Du *"Irgendwas mit PHP"* richtig online stellst. Manche machen das (lernen) nicht und stehen bei "Montags in der Computerbild".
PHP - nur leere Seiten
bearbeitet von Regina SchaukrugEs handelt sich womöglich(!) um die Zugriffsrechte.
fopen( $datei, 'w') erfordert Schreibrechte. Da "jeder" also "others" Webseiten abrufen (und damit Dein PHP-Skript starten) kann ist es sinnvoll, die Rechte für "jeden" bzw. others zu vergeben.
In einem Terminal:
~~~bash
cd /var/www/html/
chmod 0666 textdatei.txt
ls -al textdatei.txt
~~~
Alternative 1:
~~~bash
cd /var/www/html/
chmod u=rw,g=rw,o=rw textdatei.txt
ls -al textdatei.txt
~~~
Alternative 2:
~~~bash
cd /var/www/html/
setfacl -m user::rw,group::rw,other::rw textdatei.txt
getfacl textdatei.txt
~~~
Du wirst Dich umfassend und gründlich über [Rechte im Linux/Unix-Dateisystem](https://code.fastix.org/Projekte/Meine%20Ebooks/Benutzerrechte%3A%20Access-Control-Lists%20%28ACLs%29%20unter%20Linux.pdf) informieren müssen.
~~~
~> man 1 chmod
~> man 1 chown
~> man 1 setfacl
~~~
Das oben verlinkte PDF und die im Block aufgeführten Manuals helfen Dir genau an diesem Punkt. Es folgen sicherlich weitere Probleme: Sei also dazu bereit, ziemlich viel lernen müssen bevor Du *"Irgendwas mit PHP"* richtig online stellst. Manche machen das (lernen) nicht und stehen bei "Montags in der Computerbild".