[英]Amazon EC2 Ubuntu Instance Maximum File Upload Size
我得到了一個 Amazon EC2 Ubuntu 實例。 我們的任務是創建一個包含上傳客戶端視頻的 Web 應用程序。 我在我的本地主機中創建了一個文件上傳應用程序,它工作正常。 當我將代碼遷移到虛擬主機服務器時,我無法上傳任何視頻,甚至任何超過2Mb
文件。 我嘗試將php.ini
設置upload_max_filesize
編輯為50M
並將 post_max_size 設置為1000M
。
多次重啟 Apache 后,更新沒有反映在我的phpinfo()
信息中,但更改保存在我的php.ini
文件中。
我懷疑給我的 Amazon EC2 實例有文件上傳限制,但我不確定我是否正確。 如果我錯了,我該如何覆蓋下面的配置? 任何幫助將不勝感激。
更新:
我什至確保我正在編輯正確的配置文件。 以下是屏幕截圖:
更新:
我嘗試按照鏈接中所說的進行操作,但沒有成功。 我有很多關於鏈接的問題,例如:
S3 bucket
意味着什么? 我將配置文件上傳到/var/www/html/.ebextensions
。 我在做正確的事嗎? 我的zzz.ini
包含下面的代碼,我把它放在/etc/php.d/zzz.ini
:
[php]
post_max_size = 1000M
upload_max_filesize = 50M
我的myconfigfile.config
位於/var/www/html/.ebextensions/myconfigfile.config
並包含以下代碼:
files:
"/etc/php.ini":
mode: "000644"
owner: root
group: root
source: http://mybucketname.s3.amazonaws.com/php.ini
"/etc/php.d/zzz.ini":
mode: "000644"
owner: root
group: root
source: http://mybucketname.s3.amazonaws.com/zzz.ini
如何知道我的實例的桶名稱?
我還將我的php.ini
從/etc/php/7.0/apache2/php.ini
復制到/etc/php.ini
並重新啟動了 apache。 仍然沒有變化。 我在做正確的事嗎?
更新:
我向提供 EC2 實例的人詢問存儲桶名稱,她的回答是。
是的,您獲得了對 EC2 實例的訪問權限。 S3 是 Amazon 提供的不同服務,EC2 實例不會自動提供該服務。 我們可以在 S3 中為您創建一個存儲桶,但可能不再需要它。
EC2 實例有大約 8GB 的存儲空間。 您應該能夠在 EC2 文件系統中存儲多個大於 2MB 的視頻並直接訪問它們。
使用 S3 進行文件上傳是一個好主意,尤其是當您的軟件投入生產時。 但是,為了簡化設置,請使用文件系統來存儲視頻。
更新 :
運行以下命令:
php -i | grep -i max_size
產量: post_max_size => 1000M => 1000M
grep -ir "max_size" /etc/php/7.0/apache2/conf.d/
什么也沒有。
grep -ir "max_size" /etc/php/7.0/
產量
/etc/php/7.0/fpm/php.ini:post_max_size = 1000M
/etc/php/7.0/apache2/php.ini:post_max_size = 1000M
/etc/php/7.0/cli/php.ini:post_max_size = 1000M
我的phpinfo()
可以通過這個鏈接訪問
還要檢查:
/etc/php.ini
或
/etc/php-[version].ini
並修改此文件中的值。 如果這還不夠,請搜索:
/etc/php.d/aws.ini
事實上,AWS 可能會覆蓋您的價值。 如果是這種情況,解決方案是創建一個名為 /etc/php.d/99uploadsize.ini 的文件,該文件僅包含:
[php]
upload_max_filesize = 100M
post_max_size = 100M
名稱 99uploadsize.ini 不是強制性的,但請記住,名稱應按字母順序排列在 aws.ini 之后且位於同一目錄中,因為這是讀取這些 ini 文件的順序。 即使示例不是關於帶有 Apache 的通用 Ubuntu,亞馬遜也針對 WP 的類似問題提供了這種解決方案:
https://aws.amazon.com/it/premiumsupport/knowledge-center/wordpress-themes-2mb/
更改 php.ini 文件后,我還必須重新啟動 FPM:
sudo systemctl restart php-fpm.service
在重新啟動 apache 之前:
sudo systemctl restart httpd
對不起各位,打擾你們了,我的錯。 我為此苦惱了將近 4 天,結果我只在 php.ini 中犯了一個語法錯誤。 我使用本地主機中新安裝的 php 更新了我的服務器 php.ini,並且 phpinfo() 在 apache 重啟后更新。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.