2013-09-21 6 views
3

Я получил эту ошибку на рабочем сервере. на локальном сервере все нормально.symfony2 error: sessionHandler :: read()

request.CRITICAL: Uncaught PHP Exception ErrorException: 
Warning: SessionHandler::read(): open(C:/Inetpub/vhosts//tanur.ir/vhosts/tanur.ir/private/session\sess_3olhvc8osdevomrh72bhsra4k6, O_RDWR) 
failed: No such file or directory (2) in C:\Inetpub\vhosts\tanur.ir\httpdocs\Symfony\vendor\symfony\symfony\src\Symfony\Component\HttpFoundation\Session\Storage\Proxy\SessionHandlerProxy.php line 69" 
at C:\Inetpub\vhosts\tanur.ir\httpdocs\Symfony\vendor\symfony\symfony\src\Symfony\Component\HttpFoundation\Session\Storage\Proxy\SessionHandlerProxy.php line 69 [] [] 

PHP версия 5.4.16 на производственном сервере

+0

Установили ли вы поставщиков на вашем производственном сервере? – Chausser

+0

i didnt becouse его общий хост, и у меня есть ограниченные права, поэтому я загрузил поставщика на производство, я обычно делаю то же самое для своих других сайтов и никогда не соглашаюсь с такими проблемами раньше. – AhmadF

+0

Возможно, вы захотите проверить http://symfony.com/doc/current/book/installation.html конкретную часть о разрешениях для файлов, а затем проверить, действительно ли файл, который он ищет, загружен. – Chausser

ответ

0

я думаю, что, когда речь идет о фреймворке ошибок развертывания, в большинстве случаев проблема разрешение.

В этом случае я изменил разрешение папки в сеансах ведьм, и теперь все работает нормально.

+8

«Я сказал волшебное слово, и теперь все исправлено». BTW, оставив ответ, было бы полезно поделиться тем, на что вы установили разрешения;) –

5

Я бегу Fedora 18 с PHP 5.4 (используя php-fpm) + nginx, и я столкнулся с аналогичной проблемой. Symfony жаловался, что не удалось создать файл сеанса, называемый/var/lib/php/session/sess_

Я дал разрешение apache rwx на/var/lib/php/session, используя следующую команду acl, и она разрешила проблема:

sudo setfacl -m apache_username:rwx /var/lib/php/session 

apache_username либо в зависимости апач, WWW-данные вашего дистрибутива Linux, он может быть также обычай пользователь

+0

Если бы я получил все на комментариях ниже вопроса правильно, автор не имеет никаких прав на внесение изменений на «своем» сервере, потому что он работает с общедоступным хостинговым решением. – ztirom

+0

@ztirom Да, вы правы. Это будет работать, если пользователь имеет root-доступ. – Raptor

+1

Или 'sudo setfacl -m apache/var/lib/php/5.5/session', если вы на PHP 5.5. – Jonathan

3

просто нужно добавить/изменить эти 2 строки в приложение/Config/config.yml, чтобы исправить это:

framework: 
session: 
    handler_id: session.handler.native_file 
    save_path: "%kernel.root_dir%/sessions"