我在Windows下开发了图像上传功能,它运行正常。在部署到远程Ubuntu服务器之前,我安装了一个使用VirtualBox模仿生产环境的ubuntu映像,除了图像上传请求返回500内部服务器问题外,一切正常。
当我访问我的日志文件时:
Request.critical: uncaught php exception runtimeException could not create target directory to move temporary file into at ... uploadFileMover.php at line 22
围绕该行的PHP代码:
$targetDir = $uploadBasePath . DIRECTORY_SEPARATOR . $relativePath;
if (!is_dir($targetDir)) {
$ret = mkdir($targetDir, umask(), true);
if (!$ret) {
throw new \RuntimeException("Could not create target directory to move temporary file into.");
}
}
你能告诉我背后的原因吗?感谢您的帮助
修改
基于Nehal评论,我将文件夹权限设置为rwX,但无济于事。以下是getfacl
为/web/
web
,web/uploads
,web/uploads/2016/
的所有文件夹和子文件夹提供的内容...)
# file :web
# user: ubuntu
# group :ubuntu
user::rwx
user:www-data:rwx
group::rwx
mask::rwx
other::r-x
default:user::rwx
default:user:www-data:rwx
default:group::rwx
default:mask::rwx
default:other::r-x
# file :web/uploads
# user: ubuntu
# group :ubuntu
user::rwx
user:www-data:rwx
group::rwx
mask::rwx
other::r-x
default:user::rwx
default:user:www-data:rwx
default:group::rwx
default:mask::rwx
default:other::r-x