2013-04-15 16 views
8

Właśnie zamówiłem serwer vps przez stronę hostingową. Jest to CentOS z Plesk 11. więc po prostu zainstalowany mój Zend applicaton na serwerze, ale teraz stany dziennika błędówZapisanie danych sesji (plików) nie powiodło się

[Mon Apr 15 20:48:28 2013] [warn] [client 94.210.222.87] mod_fcgid: stderr: PHP Fatal error: Uncaught exception 'Zend_Session_Exception' with message 'Zend_Session::start() - /var/www/vhosts/ontwerp.doedels.eu/httpdocs/mvc/libraries/Zend/Session.php(Line:469): Error #2 session_start(): open(/var/www/vhosts/ontwerp.doedels.eu/tmp/sess_t2orkniqjn9rsn9m84d2clsdd1, O_RDWR) failed: Permission denied (13) Array 
[Mon Apr 15 20:48:28 2013] [warn] [client 94.210.222.87] mod_fcgid: stderr: /var/www/vhosts/ontwerp.doedels.eu/httpdocs/mvc/libraries/Zend/Session.php(Line:479): Error #2 session_write_close(): open(/var/www/vhosts/ontwerp.doedels.eu/tmp/sess_t2orkniqjn9rsn9m84d2clsdd1, O_RDWR) failed: Permission denied (13) Array 
[Mon Apr 15 20:48:28 2013] [warn] [client 94.210.222.87] mod_fcgid: stderr: /var/www/vhosts/ontwerp.doedels.eu/httpdocs/mvc/libraries/Zend/Session.php(Line:479): Error #2 session_write_close(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/www/vhosts/ontwerp.doedels.eu/tmp) Array' in /var/www/vhosts/ontwerp.doedels.eu/httpdocs/mvc/libraries/Zend/Session.php:482 

Co próbuję tak daleko? Próbowałem ustawić session.save_path na {DOCUMENTROOT}/tmp i {WEBSPACEROOT}/tmp, ale wydaje się, że to nie działa.

Funkcja phpinfo mówi, że session.save_path = /var/www/vhosts/ontwerp.doedels.eu/tmp jest dobrym folderem. Ścieżka istnieje, a folder ma 777 praw CHMOD.

obejść wydaje się działać, kiedy ustawiony session.save_path = {WEBSPACEROOT}/private/sess To jest folder i wykonane z uprawnieniami chmod 777, jeszcze doens't wydaje się być trwałe rozwiązanie . Ponieważ muszę utworzyć ten folder przez każdą subskrypcję, którą tworzę.

Co wiem na pewno?

  • Folder nie jest pełny
  • Folder nie istnieje
  • Folder został pisanie prawami 777
  • Właściciel folder jest 0
  • Uruchomienie serwera na FastCGI modus
+0

"każda subskrypcja, którą wykonuję" - _subscription_? – MrWhite

Odpowiedz

8

Musisz ustawić uprawnienia do swojego katalogu var. To wydaje się być problemem.

+0

Ponieważ mój użytkownik ftp nie jest właścicielem folderu, którego nie mogę. Czy powinienem to zrobić przez ssh? –

+0

Tak, użyj ssh i mam nadzieję, że masz dostęp do sudo, aby tam zmienić zezwolenie. –

+0

Cóż, tak, kiedy edytowałem uprawnienia za pomocą SSH, działało! Wielkie dzięki! Ale czy muszę to robić za każdym razem, gdy zakładam subskrypcję? –

2

Domyślna własność może być niepoprawna w folderze sesji: Przykład; php-fpm7.0 na Amazon Linuksie domyślnie przyjmuje użytkownika apache. Jeśli używasz nginx lub innej potrzeby zmiany właściciela folderu. Również jako notatkę musisz zmienić ustawienie użytkownika/grupy w www.conf.

chown -R root:nginx /var/lib/php/7.0/ 
sed -i 's/apache/nginx/g' /etc/php-fpm-7.0.d/www.conf 
service php-fpm-7.0 restart 
Powiązane problemy