【发布时间】:2019-09-05 09:54:12
【问题描述】:
自从最近我开始使用 PHP 时,我遇到了上传图片的问题。
我的代码在我的本地机器上运行良好;但是,当上传到我的虚拟机上时,文件没有上传到 tmp 文件夹。
我试图查看使用“print_r($_FILES);”从 $_FILES 填充的数组,这就是我在数组中得到的:
array ( [image] => array ( [name] => avatar-1.jpg [type] => image/jpeg [tmp_name] => /tmp/phpfkhvrw [error] => 0 [size] => 1029 ) )
我查看了 php.ini 文件,一切似乎都井井有条。我还检查了一些其他类似问题的文章,但没有任何建议有效。
我认为这与 envvars 文件中的权限有关,配置如下:
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data
但是,服务器上的所有文件都以 root 作为用户和组。
我真的希望有人可以分享一些这方面的知识,因为我真的不知道下一步该做什么。
【问题讨论】:
-
那么你是说
/tmp/phpfkhvrw实际上并不存在? -
您可以为文件夹分配权限吗?我希望 www-data 可能已经写入该文件夹,即使它不拥有它。文件夹的当前权限是什么?
-
让我们更清楚一点:文件
/tmp/phpfkhvrw不存在或move_uploaded_file('/tmp/phpfkhvrw', '/some/dest/folder/avatar-1.jpg')返回false?