今天在使用万网独立主机进行WordPress后台操作时,上传图片出现如下错误提示:
Warning: file_exists() [function.file-exists]: open_basedir restriction in effect......
查阅多方资料未找到明确解决方案,但从报错信息判断,应与路径权限或目录设置有关。经排查,发现问题根源在于图片上传的临时目录与网站目录不在同一路径下。


📌 原因分析:

系统默认的上传临时目录(/tmp)与网站根目录(如 /data/home/htdocs)不在同一路径,导致 open_basedir 安全限制生效,进而阻止文件上传操作。


✅ 解决方案:

  1. 使用 Putty 登录服务器后台;

  2. 输入以下命令编辑 php.ini 文件:
    vi /var/www/php5/lib/php.ini

  3. i 进入编辑模式,找到 upload_tmp_dir = /tmp

  4. 将其修改为与网站所在目录一致的临时路径,例如:
    upload_tmp_dir = /data/home/tmp

  5. Esc 退出编辑,输入 :wq 保存并退出;

  6. 进入万网控制面板的“开发平台” → “应用环境”,重启服务;

  7. 返回 Putty,进入 home 目录:
    cd /data/home

  8. 为 tmp 目录赋予读写权限:
    chmod -R 777 tmp

  9. 重新尝试上传图片,问题应已解决。


⚠️ 注意事项:

  • 修改前建议备份 php.ini 文件;

  • 若路径结构不同,请根据实际站点根目录调整 tmp 路径;

  • 权限设置为 777 仅建议用于测试,生产环境中请根据安全需求酌情调整。


希望本方法能帮助你顺利解决问题,如仍有异常,可进一步检查目录是否存在或路径是否准确。