Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php symfony2错误:sessionHandler::read()_Php_Symfony - Fatal编程技术网

Php symfony2错误:sessionHandler::read()

Php symfony2错误:sessionHandler::read(),php,symfony,Php,Symfony,我在生产服务器中遇到此错误。在本地服务器上一切正常 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 di

我在生产服务器中遇到此错误。在本地服务器上一切正常

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

我认为当涉及symfony部署错误时,在大多数情况下,问题在于权限


在本例中,我更改了保存witch会话时文件夹的权限,现在一切正常。

我正在使用PHP 5.4(使用PHP fpm)+nginx运行Fedora 18,我遇到了类似的问题。Symfony抱怨无法创建名为/var/lib/php/session/sess的会话文件_

我使用以下acl命令授予apache rwx对/var/lib/php/session的权限,它解决了问题:

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

apache_username是apache、www数据,具体取决于您的linux发行版,它也可以是自定义用户

只需在app/config/config.yml中添加/更改这两行即可修复:

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

您是否在生产服务器上安装了供应商?我没有安装供应商,因为它是共享主机,而且我的权限有限,因此我将供应商上载到了生产服务器上,我通常对我的其他站点也这样做,以前从未遇到过此类问题。您可能需要特别查看有关文件权限的部分,并验证其查找的文件是否已上载。如果我在问题下方的评论中获得了所有信息,则作者无权在“他的”服务器上进行更改,因为他使用的是共享托管解决方案。@ztirom是的,您是对的。如果用户具有root访问权限,这将起作用。或者如果您使用的是PHP5.5,那么在Debian/Ubuntu
$sudo setfacl-m www-data:rwx/var/lib/php/sessions
“我说了这个神奇的词,现在它都被修复了。”顺便说一句,在留下答案时,共享您设置的权限会很有帮助;)