Php

在 AWS 上自定義 EC2 實例 php.ini 文件時出錯

  • May 24, 2015

我在 AWS 上使用 Elastic Beanstalk,我試圖覆蓋 php.ini 文件中的一些設置。我已經在其中創建了帶有 project.config 的目錄 /.ebextensions:

files:
 "/etc/php.d/project.ini" :
 mode: "000644"
 owner: ec2-user
 group: ec2-user
 content: |
   date.timezone = "Europe/Berlin"
   error_reporting = E_ALL & ~E_STRICT & ~E_NOTICE & ~E_WARNING
   display_errors = Off

當我重新部署應用程序時,EBS 拋出以下錯誤:

The configuration file __MACOSX/gf/.ebextensions/._project.config in application version gf3 contains invalid YAML or JSON. YAML exception: unacceptable character '' (0x0) special characters are not allowed in "<reader>", position 0, JSON exception: Unexpected character () at position 0.. Update the configuration file.

我做錯了什麼?

更新:

__MACOSX/ 從存檔中刪除現在拋出錯誤:

The configuration file gf/.ebextensions/project.config in application version gf4 contains invalid YAML or JSON. YAML exception: while scanning for the next token found character '\t' that cannot start any token in "<reader>", line 7, column 1: date.timezone = "Europe/Berlin" ^ , JSON exception: Unexpected character (f) at position 0.. Update the configuration file.

文件似乎有問題,但我看不出是什麼。

編輯:我需要從文件中刪除幾個選項卡並替換為空格。這與下面的答案一起修復了它。

您使用的是 Macintosh,並讓隱藏__MACOSX目錄進入您的部署。這些文件是在您壓縮目錄以保存 OS X 特定資源叉時生成的,這些資源叉在任何其他作業系統上都是無用的。

如果您要使用zip打包應用程序進行部署,則需要刪除這些 Better to use git、 Capistrano 或實際上適合部署軟體的東西。

引用自:https://serverfault.com/questions/571664