【问题标题】:failed to write session data magentomagento 写入会话数据失败
【发布时间】:2026-01-22 07:45:01
【问题描述】:

我正在尝试在我的 PC 上安装 Magento 1.8。我正在使用 Vagrant 作为具有 Debian 环境的 VM。 每次我尝试安装它时都会显示错误:

致命错误:未捕获的异常“异常”,带有消息“警告:未知:无法写入会话数据(文件)。请验证 session.save_path 的当前设置是否正确 (/var/www/html/magento/magento_1.8/var/session) 在 Unknown on line 0' in /var/www/html/magento/magento_1.8/ app/code/core/Mage/Core/functions.php:245

我不知道为什么!路径正确,对该文件夹的访问权限也正确。 有人启发吗??谢谢 !! :)

【问题讨论】:

    标签: php magento session


    【解决方案1】:

    我对 vagrant 也有同样的问题,我通过更改 session.save_path 将其放置在 VM 中来修复它。

    更改文件app/etc/local.xml

    <config>
        <global>
            ...
            <session_save><![CDATA[files]]></session_save>
            <session_save_path>
                <![CDATA[/tmp/session]]>
            </session_save_path>
         </global>
         ...
    </config>
    

    如果您有 php 加速器,请清除缓存并重新启动 apache:

    sudo rm -R var/cache/* var/session/*
    sudo rm -R var/session
    sudo service apache2 restart
    

    希望对您有所帮助。

    【讨论】:

    • 但是为什么呢?同步文件夹有问题吗?
    【解决方案2】:

    我在 vagrant 中也遇到了问题,我真的不能告诉你,那里出了什么问题。

    首先我认为这可能是内存问题,所以我将内存增加到 128Mb 以防万一。没用。

    我的情况是它总是出现几次,但突然就起作用了。直到我重新启动了 memcache。

    所以我开始通过 bash 脚本刷新它,而不是重新启动它,问题就消失了。为了给你灵感,这里是:

    #!/bin/bash
    if [ ! -f "app/etc/local.xml" ]; then
        echo "Not in a magento root, aborting"
        exit 1;
    fi
    vagrant ssh -c '(sleep 0.2; echo flush_all; sleep 0.2; echo quit; ) | telnet 127.0.0.1 11211'
    
    rm -rfv var/cache
    rm -rfv var/full_page_cache
    
    exit 0;
    

    【讨论】: