【问题标题】:Symfony - files of var\sessions\dev are emptySymfony - var\sessions\dev 的文件为空
【发布时间】:2019-05-22 10:35:54
【问题描述】:

我正在本地开发一个 Symfony 3.4 站点,使用 Wamp64、PHP 7.2.14 和 FosUser 来管理我的用户。

当我在开发环境中与一些用户连接时,在 var\sessions\dev 中创建的文件是空的,并且会出现类型错误:

session_start():解码会话对象失败。会话已被销毁

prod环境没有问题,var\sessions\prod的文件满了

config.yml

framework:
    #esi: ~
    translator:
        fallbacks: ['%locale%']
    secret: '%secret%'
    router:
        resource: '%kernel.project_dir%/app/config/routing.yml'
        strict_requirements: ~
    form: ~
    csrf_protection: ~
    validation: { enable_annotations: true }
    #serializer: { enable_annotations: true }
    default_locale: '%locale%'
    trusted_hosts: ~
    session:
        # https://symfony.com/doc/current/reference/configuration/framework.html#handler-id
        handler_id: session.handler.native_file
        save_path: '%kernel.project_dir%/var/sessions/%kernel.environment%'
    fragments: ~
    http_method_override: true
    assets: ~
    php_errors:
        log: true
    templating:
        engines: ['twig']

config_dev.yml

imports:
    - { resource: config.yml }

framework:
    router:
        resource: '%kernel.project_dir%/app/config/routing_dev.yml'
        strict_requirements: true
    profiler: { only_exceptions: false }

web_profiler:
    toolbar: true
    intercept_redirects: false

monolog:
    handlers:
        main:
            type: stream
            path: '%kernel.logs_dir%/%kernel.environment%.log'
            level: debug
            channels: ['!event']
        console:
            type: console
            process_psr_3_messages: false
            channels: ['!event', '!doctrine', '!console']
        # To follow logs in real time, execute the following command:
        # `bin/console server:log -vv`
        server_log:
            type: server_log
            process_psr_3_messages: false
            host: 127.0.0.1:9911

感谢您的帮助!

【问题讨论】:

    标签: symfony


    【解决方案1】:

    尝试将gc_probability 添加到您的会话设置中:

    session:
        gc_probability: ~
        # https://symfony.com/doc/current/reference/configuration/framework.html#handler-id
        handler_id: session.handler.native_file
        save_path: '%kernel.project_dir%/var/sessions/%kernel.environment%'
    

    尝试使您的 PHP 会话目录可写。

    【讨论】:

    • gc_probability: ~ 不起作用,我正在寻找如何使您的 PHP 会话目录可写
    • 我将 session: save_path: ~ 更改为使用 php.ini 的 session.save_path ="c:/wamp64/tmp" 但结果相同:/
    猜你喜欢
    • 2017-12-31
    • 2019-03-12
    • 1970-01-01
    • 2021-02-23
    • 2017-04-20
    • 2020-12-07
    • 1970-01-01
    • 2015-11-17
    • 1970-01-01
    相关资源
    最近更新 更多