繁体   English   中英

无法在EC2上使用PHP上传文件

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM