WordPress 5.7.2迁移后上传新媒体文件提示缺少临时文件夹错误求助
WordPress IIS10 环境无法上传图片排查方案
修正配置类错误
- 你当前
php.ini里配置的upload_tmp_dir=/home/username/public_html/temp是Linux系统路径,IIS10运行在Windows环境下,必须替换为Windows格式的绝对路径,示例:upload_tmp_dir=C:\inetpub\wwwroot\你的站点目录\wp-content\temp - 检查
wp-config.php里的常量定义,你写的_FILE_是错误写法,正确的魔术常量是双下划线包裹的__FILE__,修正为:
define('UPLOADS', 'wp-content/' . 'uploads'); define('WP_TEMP_DIR', dirname(__FILE__) . '/wp-content/temp/');
修改后重启IIS站点生效。
修正IIS权限配置
你之前按照Linux逻辑配置的目录权限在IIS环境下无效,需要重新赋权:
- 找到站点根目录、
wp-content、uploads、temp这几个文件夹,右键属性→安全 - 给IIS_IUSRS用户组、以及站点对应的应用程序池标识用户,授予「读取、写入、修改」权限,确认权限继承应用到所有子文件夹和文件
检查PHP上传参数配置
打开php.ini确认以下参数配置符合要求:
file_uploads = On必须开启upload_max_filesize和post_max_size配置值大于你要上传的图片大小max_execution_time不低于30,避免大文件上传超时
修改后重启IIS生效,你可以在站点根目录新建phpinfo.php文件,写入<?php phpinfo(); ?>,访问后搜索对应参数确认配置是否生效。
检查IIS请求限制
- 打开IIS管理器,找到你的站点→请求筛选→允许的文件扩展名,确认你要上传的图片格式(jpg、png、gif、webp等)都在允许列表中
- 打开站点→ASP→限制属性,确认「最大请求实体主体限制」的数值大于你要上传的文件大小,默认值为4MB,过小会直接阻断上传请求。
调试具体错误信息
如果以上操作完成还是无法上传,开启WordPress调试模式获取具体报错:
在wp-config.php中找到WP_DEBUG相关配置,修改为:
define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false );
上传一次图片后,查看wp-content目录下的debug.log文件,根据具体报错进一步定位问题。
内容的提问来源于stack exchange,提问作者Samantha
相关产品推荐
相关产品推荐

