【发布时间】:2015-06-29 06:19:03
【问题描述】:
我目前正在为 GoDaddy 主机上的客户开发用户注册系统。
我之前在 Hostgator 上以及在 OS X 上的 PHP 测试服务器上进行本地测试时从未遇到过此类问题。
这也是一个相当简单的脚本。 common.php 访问 MySQL 数据库,所有页面(登录、注册等)都包含 common.php。会话在用户登录等时开始。
我在页面顶部看到以下错误:
警告:session_start(): open(/home/content/10/12114910/tmp/sess_trmok9fgtb527mjp21a76shf54, O_RDWR) failed: No such file or directory (2) in /home/content/10/12114910/html/common.第86行的php
警告:session_start():无法发送会话 cookie - 标头已由 /home/content/10/12114910/html 中的 /home/content/10/12114910/html/common.php:86 发送的标头/common.php 第 86 行
警告:session_start():无法发送会话缓存限制器 - /home/content/10/12114910/html 中的标头已发送(输出开始于 /home/content/10/12114910/html/common.php:86) /common.php 第 86 行
以下错误位于页面底部。
警告:未知:打开(/home/content/10/12114910/tmp/sess_trmok9fgtb527mjp21a76shf54,O_RDWR)失败:第 0 行的未知中没有此类文件或目录 (2)
警告:未知:无法写入会话数据(文件)。请在第0行的Unknown中验证session.save_path的当前设置是否正确()
再一次,这只是一个 GoDaddy 问题。我的客户最初是在 Windows 主机上,这根本不起作用,我将它们切换到 Linux 主机。
他们使用的是 PHP 5.3 版本,我将其更改为 5.4,但我仍然没有运气。
我从来没有弄乱过 php.ini 文件。我需要创建一个吗?我听说将其上传到 public_html 文件夹会覆盖服务器上的文件夹,即使我们使用的是共享托管计划。
是否还需要 SSH 访问权限才能创建 tmp 文件夹并为其设置适当的权限?
【问题讨论】:
-
你的代码在哪里
-
如果你做
var_dump(session_save_path()),你会得到什么?您的应用程序是否对指定的文件路径具有写入权限?