启动我的网络应用程序时,出现 500 错误。 prod.log 显示数据库连接错误,并且在其下方有一个缓存。警告:无法将密钥保存在
/var/www/project/var/cache
文件夹中。 (不确定它们是否相关。)
错误显示 getaddrinfo 失败:/var/www/etc 的名称解析暂时失败。
我尝试将数据库连接字符串的配置从 localhost 更改为 127.0.0.1 到实际的 IP 地址,但没有看到差异。
doctrine:
dbal:
# configure these for your database server
driver: 'pdo_mysql'
server_version: '5.7'
charset: utf8mb4
default_table_options:
charset: utf8mb4
collate: utf8mb4_unicode_ci
url: '%env(resolve:DATABASE_URL)%'
.env DATABASE_URL=mysql://用户名:[电子邮件受保护]:3306/atlas
我希望配置能够正确识别本地主机或本地 IP 地址并连接到数据库。
通过为 Web 应用程序创建一个新的存储库并从一开始就设置为使用 prod 环境变量运行,解决了数据库错误的问题。我只能假设旧文件保留了导致问题的某些配置。由于无法保存密钥错误,我通过授予项目 var 文件夹的读/写权限解决了该问题。 Syfmony 文档仅建议对 var/log 目录执行此操作,但是写入其他 var/ 目录时也遇到问题。