Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

discuz“附件文件无法保存到远程服务器”故障的解决

[复制链接]
jsj321 发表于 2009-6-2 14:39:11 | 显示全部楼层 |阅读模式
本帖最后由 itolicfip 于 2009-6-2 18:15 编辑

首先说一下我的网站(www.rupeng.com)的结构,discuz论坛放在了网站根目录的forum目录下,论坛的附件目录并没有使用默认的/forum/ attachments,而是我把论坛附件也挪到了网站根目录的“/forum_attachments”下,因此我在discuz后台将【附件保存位置】修改为“./../forum_attachments”(discuz文档中说“相对目录务必以 "./" 开头”)。然后同时启用了“远程附件”。
经过上面的修改以后我发现当上传的附件超过“附件尺寸下限”的时候提示“附件文件无法保存到远程服务器,请与管理员联系”,也就是上传远程附件失败。经过调试discuz代码发现了问题所在,确认是discuz的Bug。
Bug在include/post.func.php的ftpupload函数中,如果是上传的远程附件,那么假设$source参数传过来的是“/www/users/cownew.com/forum/./../forum_attachments/month_0906/20090602_8af8as9dfas8du9823898898.rar”,后面的代码把$source传递给了dftp_put函数,但是好像dftp_put函数对这种有点复杂的路径“/www/users/cownew.com/forum/./../forum_attachments/month_0906/20090602_8af8as9dfas8du9823898898.rar”识别有Bug,因此我在ftpupload函数的一开始加入一句“$source=realpath($source)”来将这个复杂的相对路径转换为绝对路径。这样问题就解决了。

我采用的是康盛的虚拟主机,昨天晚上康盛的技术人员整个晚上都在帮我解决这个问题,虽然最终还是我自己发现discuz的这个Bug,但是还是非常感谢康盛的虚拟主机技术人员,他们非常尽职,而且服务器也非常稳定,用康盛的主机一年以来只碰到过两次持续时间不超过半小时的服务器被DDOS攻击和一次MYSQL故障,相对其他IDC来说稳定性已经非常好了,推荐大家使用康盛的IDC。

请求加精,:)
3464143 发表于 2009-6-3 22:21:12 | 显示全部楼层
好是好   不过太贵了。。。
回复

使用道具 举报

 楼主| jsj321 发表于 2009-6-4 11:15:44 | 显示全部楼层
好是好   不过太贵了。。。
3464143 发表于 2009-6-3 22:21

又便宜又好用,哪里有那样的好事?做网站就是要稳定嘛
回复

使用道具 举报

白垩纪 发表于 2009-6-18 10:21:42 | 显示全部楼层
解决了吗? 我现在还是不行啊。。换了服务器,就不行了
回复

使用道具 举报

ecansupport 发表于 2009-6-30 10:43:15 | 显示全部楼层
我的服务器也出来了这样的问题
主要是因为我们的磁盘空间不足导致的
释放一些东西或是加大空间就OK了
回复

使用道具 举报

天氣晴 发表于 2009-7-25 23:31:44 | 显示全部楼层
因此我在ftpupload函数的一开始加入一句“$source=realpath($source)”来将这个复杂的相对路径转换为绝对路径。
如何修改
如何修改post.func.php裡的參數
我極需要使用遠端,拜託了,釋出方法吧。
回复

使用道具 举报

besthome 发表于 2010-3-18 13:51:47 | 显示全部楼层
在哪修改啊
回复

使用道具 举报

无里头 发表于 2010-6-27 13:05:09 | 显示全部楼层
支持一下哦
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2025-1-15 15:57 , Processed in 0.028135 second(s), 3 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表