簡體   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