【问题标题】:Creating new tmp folder for PHP to use?创建新的 tmp 文件夹供 PHP 使用?
【发布时间】:2010-09-18 16:49:01
【问题描述】:

我认为我在使用 PHP 会话时遇到了问题,因为我在同一台服务器上安装了 cPanel,并且我相信它具有额外的安全性,可以防止对 /tmp 的写访问

我可以设置一个新文件夹,但不确定该文件夹应该拥有哪些权限/所有者。

理想的位置应该在哪里?

【问题讨论】:

    标签: php linux session permissions


    【解决方案1】:

    /tmp 应该始终可以访问。您当然可以在您的应用程序附近的某处创建一个新的“tmp”文件夹。只要确保它不在网络根目录中即可。授予它读/写权限并将其分配给网络服务器的用户。

    然后您需要将session_save_path 更改为新的“tmp”文件夹。

    【讨论】:

    • 显然 cPanel 限制访问 /tmp 作为安全预防措施。我在安装 .sh 文件(位于其他地方,但需要在 /tmp 中创建文件)时遇到了类似的问题。那么,/temp 不是一个好主意吗?
    【解决方案2】:

    看,兄弟。
    您从错误的一端拉出此日志。猜测永远不会帮助你。

    有一种东西叫做错误信息
    您迫切需要与它取得联系。
    它将告诉您会话无法正常工作的所有原因。

    如果真的是 /tmp 问题,PHP 会收到一条针对 tis case 的特殊错误消息:

    警告:无法写入会话数据(文件)。请验证 session.save_path 的当前设置是否正确(/tmp))

    如果您收到此消息,您可以确定这是您的会话无法正常工作的原因,您可以开始修复它。

    它也有错误的会话处理程序的错误消息。以及其他所有问题。

    所以,你必须先得到错误信息。然后阅读它,它会让你知道,你有什么某些问题。简单易懂。

    作为一种快速解决方法,您可以使用此代码在屏幕上显示错误消息

    error_reporting(E_ALL);
    ini_set('display_errors',1);
    

    但只是调试这种情况,然后将其删除。错误消息不应在生产服务器的屏幕上输出。
    所以,学习阅读错误日志。我确信您的服务器将所有错误消息放入 error_log。只需找到它并查找 PHP 错误。

    【讨论】:

    • 谢谢姐姐 - 但这没有帮助。我有那个设置,php not 输出错误消息。
    • 也许是时候启动 CW 进行基本的 PHP 调试了。太多“它坏了,修复它”的问题,简单地戳一下错误日志就可以告诉所有需要修复的内容。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-29
    • 2021-08-15
    • 1970-01-01
    • 1970-01-01
    • 2013-08-15
    • 2013-11-12
    相关资源
    最近更新 更多