首页 > CMS > Phpwind > 正文

PhpWind教程:上传附件失败解决办法

2024-09-07 15:54:31
字体:
来源:转载
供稿:网友



方法1、清理
A>  清理您的服务器磁盘或虚拟空间。满状态的磁盘空间会出现前台提交表单成功但附件没有上传的现象。通常上传的附件大小显示为 0。
B>  清理系统临时目录。
  Ø  在 php.ini 中没有设置上传临时目录的情况下,系统会将上传到服务器的文件放在系统的临时目录里(Windows 服务器的系统临时目录是 c:/Windows/TEMP;Linux 的系统临时目录是/tmp),这个目录满了,上传文件就会失败。
  Ø  在 php.ini 中,可以通过 upload_tmp_dir 的值,来设定通过PHP程序上传的文件的临时目录。清空该目录。

方法2、附件目录继承写权限
上传附件要求附件目录有写权限,否则上传失败。
A>  如果服务器是 Linux 主机,请将附件目录的权限设置为 777,并将权限继承到附件目录的下级目录(详细);
B>  如果服务器是 Windows 主机,请设置附件目录 IIS 来宾账户(或者运行这个站点的 IIS 账号)写权限,并继承到附件目录的下级目录。特别情况下,需要加设临时目录的IIS来宾账号(或运行IIS的账号)对系统临时目录有写权限;
C>  咨询空间供应商。有些空间限制了目录属性,导致在附件目录下建立子目录时失败

方法3、确定上传的附件大小
服务器允许上传的附件大小设置点php.ini/upload_max_filesize,默认为2M
服务器允许提交表单的大小设置点php.ini/post_max_size,默认为8M
如果上传的附件和表单超过了这两个参数设置的大小,就会出现上传附件不成功的情况。这时,需要适当改大参数的值(如果上传的附件超过 6M,建议使用 ftp 或者其他方式上传),然后重新启动一下 web 服务器软件。
另外,虚拟主机一般不支持大于2M的附件上传。所以虚拟机下也建议使用FTP工具。

方法4、修改Apache配置文件
在使用Apache的情况下,指定配置文件里的 open_basedir 参数可以限制 Apache 能够访问的目录。如果指定了这个参数,可能导致上传附件不成功。此时,将系统的临时目录或者 php.ini 中 upload_tmp_dir 参数设置的目录、附件目录添加到 open_basedir 设置中或者将这个参数注释掉(慎用),然后重新启动 Apache 。







 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选