[英]Unable to upload files using PHP on ec2
我有一个在亚马逊云上运行的Apache服务器,并且尝试使用PHP上传文件,但是我得到了
[Tue Aug 25 13:19:20.780797 2015] [:error] [pid 5162] [client 120.59.58.80:9613] PHP Warning: move_uploaded_file(./Page1.pdf): failed to open stream: Permission denied in /var/www/html/handlefiles.php on line 8, referer: http://myhost/articles.html
我的相同代码是:
$uploads_dir = './';
$fileName = $_FILES["file"]["name"];
$fileTmpLoc = $_FILES["file"]["tmp_name"];
// Path and file name01
$pathAndName = "./".$fileName;
// Run the move_uploaded_file() function here
$moveResult = move_uploaded_file($fileTmpLoc, $pathAndName);
echo $moveResult;
权限是:
drwxrwsr-x. 7 root ec2-user 4096 Aug 25 13:27 html
-rw-rw-r--. 1 root ec2-user 1222 Aug 25 13:19 handlefiles.php
任何帮助表示赞赏。
谢谢
首先检查您的ec2 apache服务器的用户。 使用以下指令ps aux | grep apache
然后检查用户并使用此代码
须藤chown -R ubuntu:www-data / var / www / html /
我认为您的文件夹权限存在问题。 ./表示php引擎可能没有写权限的当前目录。 首先尝试在不使用./的情况下运行代码
$uploads_dir = './';
$fileName = $_FILES["file"]["name"];
$fileTmpLoc = $_FILES["file"]["tmp_name"];
// Path and file name01
$pathAndName = $fileName;
// Run the move_uploaded_file() function here
$moveResult = move_uploaded_file($fileTmpLoc, $pathAndName);
echo $moveResult;
然后指定整个通行证;
$pathAndName = "/var/www/html/".$fileName;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.