首页 > 解决方案 > 当 session.save_path 设置为 Windows 文件系统上的路径时,为什么 PHP session_start() 在 WSL 上失败?

问题描述

我正在尝试将本地 PHP 开发从 Windows XAMPP 堆栈转换为使用适用于 Linux 的 Windows 子系统。在 WSL 下,我的网站代码库位于 windows 文件系统上,Apache 网络服务器可以通过 /mnt/c/www/myweb 访问。

我继承了一个将 session.save_path 设置为网站根目录的代码库,即。/mnt/c/www/myweb 然后运行 ​​session_start()。这在 XAMPP 下运行良好,但在 WSL 下会话启动命令失败并出现致命异常和错误消息“警告:session_start():会话数据文件不是由您的 uid 创建的”。

从 WSL 命令行,我可以在 /mnt/c/www/myweb 创建一个文件,并且似乎还能够运行 chmod 命令。

这是 WSL 和 Windows 文件系统之间接口的限制,还是我做错了什么?

标签: phpwindows-subsystem-for-linux

解决方案


推荐阅读