簡體   English   中英

AWS Elastic Beanstalk文件上傳無效

[英]AWS Elastic Beanstalk file upload not working

我們使用AWS Elastic Beanstalk來托管PHP應用程序,其中包括無法正常工作的文件上載工具。 我們有php.ini將tmp_upload_dir設置為/ tmp但它仍然不起作用。

我們剛剛從另一台服務器移動了網站,一切都在那里完美運行,但EB似乎不想讓我們上傳文件。

以下是我們使用的代碼示例:

$imagePath = "/tmp/";

$allowedExts = array("gif", "jpeg", "jpg", "png", "GIF", "JPEG", "JPG", "PNG");
$temp = explode(".", $_FILES["img"]["name"]);
$extension = end($temp);

if ( in_array($extension, $allowedExts))
  {
  if ($_FILES["img"]["error"] > 0)
    {
         $response = array(
            "status" => 'error',
            "message" => 'ERROR Return Code: '. $_FILES["img"]["error"],
        );
        echo "Return Code: " . $_FILES["img"]["error"] . "<br>";
    }
  else
    {

      $filename = $_FILES["img"]["tmp_name"];
      list($width, $height) = getimagesize( $filename );

      move_uploaded_file($filename, $imagePath . $_FILES["img"]["name"]);

      $response = array(
        "status" => 'success',
        "url" => $imagePath.$_FILES["img"]["name"],
        "width" => $width,
        "height" => $height
      );

    }
  }
else
  {
   $response = array(
        "status" => 'error',
        "message" => 'something went wrong',
    );
  }

我遇到了同樣的問題,發現我們需要兩件事,兩件都放在.htaccess文件中:

 php_value upload_tmp_dir "/tmp"
 php_value upload_max_filesize 10M

上載目錄必須由Web服務器擁有,例如“webapp”或“daemon”,或者該帳戶可寫。 此外,max filesize必須適應您的上傳。

就我而言,默認上傳限制為2M,我的文件為4M。 這導致了一個空的$ _FILES數組。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM