PHP脚本可能无法上载文件,因为有以下权限:Ubuntu/Linux
我最近遇到了一个PHP上传脚本的问题,该脚本拒绝将上传的文件移动到永久目录。在多次修改和调试脚本(以前在另一台机器上工作)之后,我在PHP脚本可能无法上载文件,因为有以下权限:Ubuntu/Linux,php,apache,ubuntu,file-upload,Php,Apache,Ubuntu,File Upload,我最近遇到了一个PHP上传脚本的问题,该脚本拒绝将上传的文件移动到永久目录。在多次修改和调试脚本(以前在另一台机器上工作)之后,我在/etc/php5/apache2/PHP.ini中检查了PHP的设置。注意到里面的一切都不会阻止上传。然后我转到存储临时文件的位置(/tmp),发现上传时创建了一个tmp文件 由于权限要求,是否可以阻止脚本将文件移动到某个位置(不是Apache的默认安装) 我检查了Apache正在使用的用户posix_getpwuid(),它返回: Array ( [n
/etc/php5/apache2/PHP.ini
中检查了PHP的设置。注意到里面的一切都不会阻止上传。然后我转到存储临时文件的位置(/tmp
),发现上传时创建了一个tmp文件
由于权限要求,是否可以阻止脚本将文件移动到某个位置(不是Apache的默认安装)
我检查了Apache正在使用的用户posix_getpwuid()
,它返回:
Array (
[name] => www-data
[passwd] => x
[uid] => 33
[gid] => 33
[gecos] => www-data
[dir] => /var/www
[shell] => /usr/sbin/nologin
)
使用脚本的站点目录为/home/smilligation/workspace/Website
,其权限设置为me/(smilligation)
。上载脚本和脚本将上载文件移动到的最终文件位置都位于上述目录下
我是Ubuntu和it文件权限的新手,因此非常感谢您的帮助 正在修复整个www目录的文件权限:
chown -R www-data:www-data /var/www/
尽管我建议以下关于更持久的权限修复的建议。您是否收到任何错误?是否启用了错误报告?不,没有错误,并且该文件已启用错误报告。因此php脚本只是“拒绝”移动文件,而不告诉您任何信息?奇怪的是,我仔细看了一下,重启了Apache,它吐了出来:move_uploaded_file():无法将“/tmp/phpUGE44O”移动到“/home/smilification/workspace/Website/images/adfs_223u.png”,因此它与权限有关。因为我实现了一个虚拟主机,并将
/var/www
的位置更改为/home/smilification/workspace/Website
,所以我在您指示我的答案中替换了不同的位置。谢谢你,我可以帮忙:)