PHP文件上载到AWS EC2

时间:2015-12-07 09:34:55

标签: php amazon-web-services file-upload amazon-ec2 chmod

我目前正致力于基于PHP的文件上传到AWS EC2实例。基本上我只想将zip文件上传到名为/ uploads /的子目录。到目前为止,让我告诉你我的代码:

<form enctype="multipart/form-data" action="index.php" method="POST">
   <input id="file-0a" class="file" name="zipfile" type="file" data-show-preview="false">
</form>

所以任何上传的文件都应该在$ _FILES ['zipfile']

说到PHP,我的代码如下:

<?php 

if(isset($_FILES[zipfile])){
    error_reporting(E_ALL);

    $uploaddir = '/uploads/';
    $uploadfile = $uploaddir . basename($_FILES['zipfile']['name']);

    echo '<pre>';
    if (move_uploaded_file($_FILES['zipfile']['tmp_name'], $uploadfile)) {
        echo "Success\n";
    } else {
        echo "Error!\n";
}

echo 'Debugging:';
print_r($_FILES);

print "</pre>";
}

?>

Print_r显示所有必要信息,错误级别为0,我得到tmp_name,如/ tmp / phpy3lQBV。但我仍然从else部分得到错误。所以我假设move_uploaded_files返回false。

在XAMPP上本地运行脚本时,一切正常。我在EC2实例上将chmod设置为777。 EC2实例正在运行Apache 2.4.7和PHP 5.5.9

我希望有人可以帮助我。

干杯, 亨德里克

1 个答案:

答案 0 :(得分:2)

我通过将www-data指定为/var/www/html目录的用户来解决了这个问题。在将其设置为“ubuntu&#39;”之前,这是由AWS默认分配的。

基本上sudo chown -R www-data var/www/html为我工作。