我在将Symfony2项目上传到platform.sh时遇到了问题。我根据symfony文档(我已经创建了.platform.app.yaml、.platform/routes.yaml和.platform/services.yaml)一步一步地完成了所有操作。但当我试图将所有操作推送到platform.sh主分支时,我遇到了如下所述的问题。
Generating runtime configuration.
Found a `composer.json`, installing dependencies.
Executing post-build hook...
[DoctrineDBALExceptionConnectionException]
An exception occured in driver: SQLSTATE[HY000] [2002] Connection refused
[DoctrineDBALDriverPDOException]
SQLSTATE[HY000] [2002] Connection refused
[PDOException]
SQLSTATE[HY000] [2002] Connection refused
E: Unknown error in the toolstack: CalledProcessError: Command 'rm web/app_dev.php
app/console --env=prod assetic:dump --no-debug
' returned non-zero exit status 1
E: Error building the project: Unable to build project, aborting deployment.
它正在中止一切。我有一个项目,我开发了3个月,我不能上传到任何地方。。。现在我真的很困惑。
我读到,我应该更改参数。yml,其中是DB的条令设置。我的文件:
parameters:
database_driver: pdo_mysql
database_host: 127.0.0.1
database_port: '3306'
database_name: yoda_event
database_user: root
database_password: null
mailer_transport: gmail
mailer_host: ~
mailer_user: xxxxxxxxxxxxxxxxxxxxxxx
mailer_password: xxxxxxxxxxxxxxxxxxxxxxx
locale: en
secret: xxxxxxxxxxxxxxxxxxx
debug_toolbar: true
debug_redirects: false
use_assetic_controller: true
assets_directory: 'assets'
config.yml:
imports:
- { resource: parameters.yml }
- { resource: security.yml }
- { resource: parameters_platform.php }
[...]
# Doctrine Configuration
doctrine:
dbal:
driver: "%database_driver%"
host: "%database_host%"
port: "%database_port%"
dbname: "%database_name%"
user: "%database_user%"
password: "%database_password%"
charset: UTF8
# if using pdo_sqlite as your database driver, add the path in parameters.yml
# e.g. database_path: "%kernel.root_dir%/data/data.db3"
# path: "%database_path%"
问题是,我如何为SQL正确设置以将项目部署到PLATFORM.SH?请告诉我如何解决这个问题。我已经试着部署了两周了。。。我对此感到非常孤独。
我使用的是win7/64bit,但当我部署它时(至少),我会将系统更改为linux。
我也遇到了同样的问题,因为trick已经初始化,并请求数据库知道使用了哪个版本的mysql。我通过在我的条令配置下添加以下内容来解决这个问题:
doctrine:
dbal:
[...]
charset: UTF8
server_version: 5.6
[DoctrineDBALExceptionConnectionException]
An exception occured in driver: SQLSTATE[HY000] [2002] Connection refused
很明显,你的应用程序无法连接到数据库。你可以试着用localhost
代替127.0.0.1
,但我怀疑它是否有帮助。
无论如何,您正在连接的主机出现了问题:数据库可能已关闭或不存在,IP可能无效,防火墙可能会阻止连接等。