[英]How to log PHP errors in an AWS Elastic Beanstalk Docker container
我有一個正在部署到 AWS Elastic Beanstalk 的 PHP Docker 容器。 我對 Docker 和 EB 比較陌生,所以還在學習。 我試圖將 php 錯誤記錄到 /var/log/php_error.log 最好。
在 php.ini 我已經設置
log_errors = On
error_log = /var/log/php_error.log
然后我加載了一個包含error_log("Hi")
的頁面,但是當我eb ssh
進入服務器時,沒有創建 php_error.log 文件。
我認為這是一個許可問題。 PHP 用戶 (www-data) 無權寫入 root 擁有的日志目錄。 我從不設置 root 密碼,也找不到任何有關如何獲得 sudo 權限或如何正確設置權限以使其正常工作的文檔。 我懷疑它可以放入我的 Dockerfile 中,但我對 Docker 還是個新手,所以不知道該怎么做。
可能出於相同或類似的原因,我無法使用 PHP 寫入任何文件,例如執行file_put_contents("write.txt","hi")
會出現權限錯誤。
任何提示將非常感謝。
我最近不得不這樣做,這就是我所做的。
使用 .ebextensions,您幾乎可以更改任何您想要的配置,包括 php.ini 中的內容。 在您的 EB 部署 zip 文件中,確保您有一個名為 .ebextensions 和 .config 的文件夾,其中包含類似於以下示例的內容。
這是我的 PHP 特定擴展的示例:
files:
"/etc/php.d/uploads.ini" :
mode: "000644"
owner: root
group: root
content: |
upload_max_filesize = 128M
post_max_size = 128M
error_log = /tmp/php_errors.log
與您類似,我在我知道它會被命中的地方放置了一個隨機的 error_log() 語句,並且文件被創建並填充了我期望的內容。
希望這可以幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.