为PHP创建新的tmp文件夹以供使用?

问题描述:

我想我使用PHP会话时遇到了问题,因为我已经将cPanel安装在同一台服务器上,并且我相信它具有防止对/ tmp的写入访问的额外安全性我可以设置一个新文件夹,但我不确定该文件夹应具有哪些权限/所有者。为PHP创建新的tmp文件夹以供使用?

也应该在哪里它理想地位于?

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

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

+0

显然cPanel限制访问/ tmp作为安全防范。当我安装.sh文件(位于其他地方,但需要在/ tmp中创建文件)时,我遇到了类似的问题。所以,/ temp不是一个好主意? – tzmatt7447 2010-09-18 08:45:02

看,兄弟。
您正在从错误的方向抽出此日志。猜测永远不会帮助你。

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

如果它是一个真正的/ tmp目录的问题,PHP得到了TIS情况下,一个特殊的错误消息:

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

如果你得到这个消息时,你可以肯定,它是你的会话的原因不工作,你就可以开始修复它。

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

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

作为一个快速的解决方法,你可以使用此代码在屏幕上带来错误信息

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

但仅调试这个情况,然后将其删除。错误消息不应该在生产服务器的屏幕上输出。
所以,学会阅读错误日志。我相信你的服务器把所有的错误信息放入error_log。只要找到它并寻找PHP错误。

+0

谢谢sis - 但这没有帮助。我有这样的设置和PHP是_不输出错误消息。 – tzmatt7447 2010-09-18 09:00:54

+0

+1我笑得这么辛苦。 – halfdan 2010-09-18 09:05:51

+0

也许是时候在基本的PHP调试中启动CW了。太多的“它坏了,解决它”的问题,在错误日志中的简单戳戳会告诉所有需要修复的东西。 – 2010-09-18 15:19:51