扫一扫加微信

discuz搬家后头像和附件不能上传终极分析解决方案

discuz搬家后头像和附件不能上传,很多会出现can not write to the data/tmp folder,这是为什么呢?先找下原因,首先分析下上传的工作流程:

第一个步骤中,提示已经上传 100%,是指flash已经将图片 100% 上传到服务器上,然后交给 UCenter 处理,这个时候图片还在服务器的临时目录里。UCenter 将 flash 上传来的图片存放到 ./data/tmp 下,以 upload+uid+图片后缀名 的方式命名图片,然后将该图片的网址返回给 flash,flash 根据网址显示预览图
在排查“选择完图片,但是裁剪界面不能出现图片”问题时,应该考虑一下 UCenter 的 ./data/tmp 目录是否存在以及这个目录和文件的权限。

还有下面这些也要考虑上
1 fopen函数必须开启   有些空间关闭了这个函数  设置php.ini里面allow_url_fopen = On
2 将php.ini中的;upload_tmp_dir = 该行的注释符,即前面的分号“;”去掉,使该行在php.ini文档中起作用。upload_tmp_dir是用来定义上传文件存放的临时路径,在这里你还可以修改并给其定义一个绝对路径,这里设置的目录必须有读写权限。
比如upload_tmp_dir = C:\tmp\
然后C:\tmp\还要给IIS可读写的权限

3注意修改了php.ini后 重启IIS或者apache

如果上面的还解决不了怎么办呢?你看看这里吧,检查服务器的临时目录 WINDOWS\temp  ,IIS 来宾帐号是否有可写权限,再不行推到重建吧。

反正我遇到这个问题的时候是翻遍官方论坛,硬是没找到办法,所有的都试了,照样挂,超一点推到了。最后无奈去windows下看了看,奇迹就这么出现了。

如果能帮到你,哥们支持下吧,血的经验总结啊。。。

评论

2+2=