Ich hatte das Problem schon des öfteren, dass bspw. PHP-Scripte Verzeichnisse oder Dateien auf dem Server erstellen und sich diese Verzeichnisse bzw. Dateien dann per FTP nicht mehr löschen lassen. Mein letzter Fall trat im Zusammenhang mit Coppermine auf.
Nach der Einrichtung des Systems trat immer wieder der Fehler: ‚Access denied – Database access denied‘ ausschließlich im Zusammenhang mit der „editpictures.php“ auf. Selbstverständlich wird darauf auch immer verwiesen: Ich habe die Zugangsdaten zur Datenbank mehrmals überprüft. Irgendwann habe ich mir dann mal die unterschiedliche Funktionsweise auf meinem localhost und dem Live-Server angeschaut … auf dem Localhost gab es den Fehler nicht – die Zugangsdaten zur DB waren identisch …
Lange Rede kurzer Sinn, die Fehlermeldung hatte mich auf den falschen Pfad gebracht, tatsächlich lag der Fehler in einem typischen Rechteproblem, dass ich auch an anderer Stelle schon des öfteren hatte.
PHP-Scripte laufen auf einigen Servern unter anderen Rechten als FTP. Das führt dazu, dass man Dateien und Verzeichnisse, die per PHP erzeugt wurden, nicht unbedingt per FTP löschen oder ändern kann. Man muss die Verzeichnisse bzw. Dateien dann per PHP selbst löschen oder die Rechte ändern. Im Zweifel kann man die Rechte per CHMOD erstmal über PHP auf 777 setzen. Dann sollte man auch über FTP Verzeichnisse/Dateien ändern und löschen können. Das folgende Script ändert alle Rechte der Dateien im Verzeichnis „sample/“ – ausgehend vom PHP-Script selbst: