Angesichts eines Dateierlaubnisfehlers beim Ausführen von CakePHP in Ubuntu 10.4
Habe ich installiert CakePHP 2.0 framwork mit Schritten unten:
1. Start the terminal
2. sudo mkdir /var/www/cakephp
3.sudo cp -r ~/cakephp/* /var/www/cakephp
Ändern tmp-Ordner permisssion
4. sudo chmod -R 777 cakephp/app/tmp
Aktivieren mod-rewrite
5. sudo a2enmod rewrite
Öffnen Sie die Datei /etc/apache2/sites-enabled/000-default und ändern AllowOverride None
zu AllowOverride All
6. sudo vim /etc/apache2/sites-enabled/000-default
Apache Neu Starten
7. sudo /etc/init.d/apache2 restart
Öffnete ich meinen browser und tippte Adresse http://localhost/cakephp/ und ich seaw diese Fehlermeldung:
Achtung: _cake_core_ cache war nicht in der Lage zu schreiben, "cake_dev_en-uns" ist zu-Datei-cache in /var/www
/cakephp/lib/Cake/Cache/Cache.php auf der Linie 310
Warnung: _cake_core_ cache war nicht in der Lage zu
schreiben 'cake_dev_en-uns" ist zu-Datei-cache in /var/www/cakephp/lib/Cake/Cache/Cache.php auf der Linie 310
Warning: /var/www/cakephp/app/tmp/cache/persistent/nicht beschreibbar /var/www/cakephp
/lib/Cake/Cache/Engine/FileEngine.php on line 320
Warning: /var/www/cakephp/app/tmp/cache
/Modelle/ist nicht beschreibbar /var/www/cakephp/lib/Cake/Cache/Engine/FileEngine.php on line 320
Warning: /var/www/cakephp/app/tmp/cache/ist nicht beschreibbar /var/www/cakephp/lib/Kuchen
/Cache/Engine/FileEngine.php on line 320
InformationsquelleAutor der Frage Dinesh Chandra | 2012-01-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den Befehl
sudo chmod -R 777 cakephp/app/tmp
nurtmp
beschreibbar ist, sollten Sie den cache und es ist Unterverzeichnisse beschreibbar als gut, sonst wird der Kuchen kann nicht schreiben der cache-Dateien in das cache-Verzeichnis in tmp.So, in diesen Verzeichnissen sollte beschreibbar sein:
Stellen Sie sicher, dass das log-Verzeichnis ist beschreibbar:
cakephp/app/tmp/logs
.InformationsquelleAutor der Antwort mensch
Habe ich vor ähnlichen Problemen. Hier sind ein paar Dinge, die mir geholfen haben:
Wenn Sie nicht wollen, verwenden Sie die "Vorschlaghammer" - Ansatz von
chmod 777
(Sie können vermeiden Sie es, die auf die Produktionzum Beispiel), die CakePHP-installation Anweisungen enthalten Einzelheiten zur Verwendung von ACL statt:Beachten Sie, dass Sie wahrscheinlich benötigen, um verwenden
sudo
für diesetfacl
Befehle gegeben.Jedoch in meiner Erfahrung (CakePHP 2), diese Befehle sind nicht genug. Diese Befehle geben Sie Ihre webserver Benutzer Zugriff auf den cache etc, aber alles, was Sie von der Befehlszeile aus ausgeführt werden (wie die
cake
Befehl) wird wahrscheinlich laufen, wie Ihre Benutzer und nicht als webserver-Benutzer.Daher sollten Sie laufen die
setfacl
Befehle im Zusammenhang mit oben ein zweites mal, und ersetzen${HTTPDUSER}
mit Ihrem Benutzernamen. Wenn Sie nicht sicher sind, was Ihr Benutzername ist, geben Siewhoami
zu finden.InformationsquelleAutor der Antwort Sam
Den ich je erlebt habe ein sehr ähnliches problem mit cachePhp 3.
Weil ich bin neue in CakePhp, habe ich debuged die Datei mit dem problem - CORE/src/Cache/Engine/FileEngine.php.
Hier ist die Funktion, wie weiter:
Wird überprüft, ob cache-Verzeichnis beschreibbar ist und die Daten über die Pfad-form
$this->_config['path']
variable. Diese variable initialisiert wird standardmäßig aus .env-Datei (wenn Sie es verwenden), und es Zeilen hat, wie die nächsten:Habe ich alles geändert
File:
zuNull:
wie weiter:Und es hilft, mein problem war behoben. Wahrscheinlich wird es hilfreich sein für jemanden. Genießen Sie!
InformationsquelleAutor der Antwort Vaha
Mit chmod -R 777 /var/www/cakephp/app/tmp/ d.h. Ordner execuatble dieses Problem zu lösen.
Ich habe sogar vor ähnlichen Problem beim testen von cron D. H. shell, die es in app/Console/Command/Ordner. Wenn wir die Ausführung eines cron-mehrere Zeit, tmp/Ordner Berechtigung überschrieben wird und die Erlaubnis, Fehler kommen in der Bild an diesem Punkt kann vermieden werden, indem tmp/Ordner ausführbare Datei rekursiv.
InformationsquelleAutor der Antwort Dhiraj
Als eine temporäre Lösung, wenn Sie verwenden möchten, zur Verfügung gestellt .env-Datei und die Berechtigungen nicht lösen Ihr Problem ändern .env-Datei absoluter Pfad, die Punkte auf dein app-Verzeichnis
InformationsquelleAutor der Antwort Ionut Irofte