我正试图将我的Laravel项目上传到弹性beantalk。我在服务器上添加了MySQL。
我创建了一个.ebextensions/init.config
:
container_commands:
01initdb:
command: "php artisan migrate"
02initdb
command: "php artisan db:seed"
现在,我遇到此错误:
无法部署应用程序版本:应用程序版本cbt-source-10中的配置文件.ebextensions / init.config包含无效的YAML或JSON。 YAML异常:无效的Yaml:在扫描下一个令牌时,在“”的第2行第1列第1列中无法启动任何令牌的字符'\ t':01initdb:^,JSON异常:无效的JSON:位置处出现意外字符(c) 0 ..更新配置文件。
仅供参考,我还添加了以下内容:
database.php
define('RDS_HOSTNAME', $_SERVER['RDS_HOSTNAME']);
define('RDS_USERNAME', $_SERVER['RDS_USERNAME']);
define('RDS_PASSWORD', $_SERVER['RDS_PASSWORD']);
define('RDS_DB_NAME', $_SERVER['RDS_DB_NAME']);
//in connections array
'mysql' => [
'driver' => 'mysql',
'url' => env('DATABASE_URL'),
'host' => RDS_HOSTNAME,
'port' => env('DB_PORT', '3306'),
'database' => RDS_DB_NAME,
'username' => RDS_USERNAME,
'password' => RDS_PASSWORD,
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'prefix_indexes' => true,
'strict' => true,
'engine' => null,
'options' => extension_loaded('pdo_mysql') ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
]) : [],
],
AppServiceProvider.php
public function register()
{
Schema::defaultStringLength(191);
}
我还运行了命令zip -d nameofyourzipfile.zip __MACOSX/\*
我知道我可以将SSH转换为弹性beantalk,以及在项目部署后进行一些操作以及如何运行artisan命令,但是目前,我只是在尝试学习弹性beantalk。我可能会更好地运行命令b
答案 0 :(得分:0)
错误消息“无效的Yaml”在这里有帮助。从外观上看,您在02initdb之后缺少单个冒号
因此YAML应该看起来像
container_commands:
01initdb:
command: "php artisan migrate"
02initdb:
command: "php artisan db:seed"
希望有帮助!
答案 1 :(得分:0)
该错误消息是因为配置文件中必须有选项卡将其转换为空格。