php - Symfony DotEnv PathException
问题描述
我有第二个问题。我在 Docker 容器中使用 api-platform 运行 Symfony。但是,这个容器的 PHP 一直在崩溃。当我运行时会发生这个特殊问题docker-compose up --build
(所以使用--build
标志)。发生以下错误,之后 PHP 以代码 255 退出。
#54 2.503 Script cache:clear returned with error code 255
#54 2.503 !! PHP Fatal error: Uncaught Symfony\Component\Dotenv\Exception\PathException: Unable to read the "/srv/api/.env" environment file. in /srv/api/vendor/symfony/dotenv/Dotenv.php:505
#54 2.503 !! Stack trace:
#54 2.503 !! #0 /srv/api/vendor/symfony/dotenv/Dotenv.php(60): Symfony\Component\Dotenv\Dotenv->doLoad()
#54 2.503 !! #1 /srv/api/vendor/symfony/dotenv/Dotenv.php(80): Symfony\Component\Dotenv\Dotenv->load()
#54 2.503 !! #2 /srv/api/config/bootstrap.php(17): Symfony\Component\Dotenv\Dotenv->loadEnv()
#54 2.503 !! #3 /srv/api/bin/console(30): require('/srv/api/config...')
#54 2.503 !! #4 {main}
#54 2.503 !! thrown in /srv/api/vendor/symfony/dotenv/Dotenv.php on line 505
#54 2.503 !!
在查找资料并尝试调试此问题三天后,我遇到了一些假设的解决方案。在 StackOverflow 上,我只找到了一个,它指出 Symfony 需要一个.env
文件,而询问的人应该创建一个。有趣的事情:该.env
文件确实存在。它就在那里,并且一直工作到现在。(机器上的清洁出厂重置)
srv
我检查了文件夹外所有文件的权限.env
,它们是可读写的。我不确定如何在 srv 文件夹中执行此操作。但问题是,我根本不明白问题是什么。错误消息看起来很简单,但并没有告诉我发生了什么。
关于原因是什么以及如何解决此问题的任何建议?