【发布时间】:2010-09-18 16:49:01
【问题描述】:
我认为我在使用 PHP 会话时遇到了问题,因为我在同一台服务器上安装了 cPanel,并且我相信它具有额外的安全性,可以防止对 /tmp 的写访问
我可以设置一个新文件夹,但不确定该文件夹应该拥有哪些权限/所有者。
理想的位置应该在哪里?
【问题讨论】:
标签: php linux session permissions
我认为我在使用 PHP 会话时遇到了问题,因为我在同一台服务器上安装了 cPanel,并且我相信它具有额外的安全性,可以防止对 /tmp 的写访问
我可以设置一个新文件夹,但不确定该文件夹应该拥有哪些权限/所有者。
理想的位置应该在哪里?
【问题讨论】:
标签: php linux session permissions
/tmp 应该始终可以访问。您当然可以在您的应用程序附近的某处创建一个新的“tmp”文件夹。只要确保它不在网络根目录中即可。授予它读/写权限并将其分配给网络服务器的用户。
然后您需要将session_save_path 更改为新的“tmp”文件夹。
【讨论】:
看,兄弟。
您从错误的一端拉出此日志。猜测永远不会帮助你。
有一种东西叫做错误信息。
您迫切需要与它取得联系。
它将告诉您会话无法正常工作的所有原因。
如果真的是 /tmp 问题,PHP 会收到一条针对 tis case 的特殊错误消息:
警告:无法写入会话数据(文件)。请验证 session.save_path 的当前设置是否正确(/tmp))
如果您收到此消息,您可以确定这是您的会话无法正常工作的原因,您可以开始修复它。
它也有错误的会话处理程序的错误消息。以及其他所有问题。
所以,你必须先得到错误信息。然后阅读它,它会让你知道,你有什么某些问题。简单易懂。
作为一种快速解决方法,您可以使用此代码在屏幕上显示错误消息
error_reporting(E_ALL);
ini_set('display_errors',1);
但只是调试这种情况,然后将其删除。错误消息不应在生产服务器的屏幕上输出。
所以,学习阅读错误日志。我确信您的服务器将所有错误消息放入 error_log。只需找到它并查找 PHP 错误。
【讨论】: