- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对这个失去了理智。
我在 Docker 容器中安装了 Lumen 和 MySQL。大多数一切都很好。我可以运行容器并通过浏览器访问 Lumen。我可以通过 Sequel Pro 访问 MySQL,没问题。我可以运行 php artisan migrate
并且运行良好。
但是,如果我尝试在浏览器中通过 Lumen 执行任何操作,它不会连接到数据库,并且会出现连接被拒绝的错误。
我使用的是 Lumen 5.7.7,.env 文件如下所示:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=test
DB_USERNAME=root
DB_PASSWORD=root
docker-compose.yml 看起来像这样:
version: '3'
services:
api:
build:
context: .
dockerfile: .docker/Dockerfile
image: laravel-docker
ports:
- 8080:80
depends_on:
- mysqldb
volumes:
- .:/srv/app
# container_name:
mysqldb:
image: mysql:5.7
container_name: mysqldb
command: mysqld --user=root --verbose
volumes:
- ./schemadump.sql:/docker-entrypoint-initdb.d/schemadump.sql
ports:
- 3306:3306
environment:
MYSQL_DATABASE: test
MYSQL_USER: test
MYSQL_PASSWORD: test
MYSQL_ROOT_PASSWORD: root
MYSQL_ALLOW_EMPTY_PASSWORD: "yes"
编辑: 在站点和命令行上运行 phpinfo() 并意识到它们甚至不是相同的版本,更不用说相同的确切细节了。这可能是这里的问题吗?看多了...
最佳答案
好吧,它现在可以正常工作了。我现在可以在浏览器中使用它,而不是在我可以使用的命令行中使用它。从上面的评论来看,问题似乎是缺少将 api 连接到数据库的“链接”部分。 .env 文件没有改变,但 docker-compose.yml 现在看起来像这样:
version: '3'
services:
api:
build:
context: .
dockerfile: .docker/Dockerfile
image: laravel-docker
ports:
- 8080:80
links:
- mysql
volumes:
- .:/srv/app
environment:
DB_HOST: mysql
DB_DATABASE: test
DB_USERNAME: test
DB_PASSWORD: test
mysql:
image: mysql:5.7
ports:
- 13306:3306
environment:
MYSQL_DATABASE: test
MYSQL_USER: test
MYSQL_PASSWORD: test
MYSQL_ROOT_PASSWORD: root
将“环境”部分添加到 yml 文件的 api 部分。这帮了大忙。并更改了端口,使其具有与内部端口不同的外部端口。不是 100% 哪个部分使它工作正常,但它现在工作正常,我不打算对其进行更多更改。
关于php - Lumen/Docker/MySQL (SQLSTATE[HY000] [2002] Connection refused) 但我可以外部连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54729115/
我了解如何使用hy.read_str和hy.eval从 python 评估 hy来自 python 内部的表达式。但是,当我使用这种方法时,导入和全局变量不会在 hy 之间共享。和python环境。考
我知道如何将 hy 模块导入到 python 中。我所要做的就是创建一个包含 hy 代码的 something.hy 文件,然后执行以下操作... import hy import something
如何将对象 HyExpression 打印为 HyExpression([ HyExpression([ HySymbol('/'), HyInteger(2)]),
我正在编写宏以简化使用 matplotlib 绘制绘图的过程。我的第一次尝试,如下所示,工作正常: (defmacro insert-ax [body] `((getattr g!ax (str '~
Hy 中指定元类的语法是什么。我尝试了以下方法: (defclass Metaclass [] ) (defclass Foo [ :meta Metaclass ] ) (defclass Foo
我查看了所有 Hy 的文档,但找不到在任何地方创建对象的方法。更具体地说,我正在尝试关注 this PySide tutorial ,但将每个命令转换为 Hy,我不确定如何在 Hy 中执行 app =
我想得到 Hy! 在 Hylang 中,我如何执行简单的 Python 循环: for i in range(5): print(i) 最佳答案 tutorial提供了这个例子: (for [
有什么方法可以用 Hy 中的索引替换列表或字典元素的值吗?nth 函数似乎不对应 Python 的方括号。 我期待的是下面的翻译。 (setv lst [1 2 3]) (setv (nth lst
我想在 hy 中执行以下操作: from StringIO import StringIO import pandas as pd s = """sepal_length sepal_width
在 python 中,以下代码迭代 numpy 数组(for 循环),并且 numpy 数组的值发生更改: import numpy a08_1 = numpy.arange(8).astype(nu
我想使用 Hy ,一种基于 Python 的 Lisp 方言。然而,我的同事都使用 Python,并且不太可能很快切换到 Lisp 方言。 如何将 Hy 代码打包到标准 Python 模块中? 最佳答
我在玩符号,惊讶地看到: hy 0.18.0 using CPython(default) 3.7.3 on Linux => (bool '0) False => (bool 'False) Tru
我已经从 https://github.com/hylang/hy-mode 成功安装了 hy-mode .我现在可以在 emacs 中打开 .hy 文件并进行语法高亮显示,并且使用 paredit
当我使用 -hy 标志来分析我的程序的堆使用情况时 ./prog +RTS -hy 经常看到构造函数*在结果中,以及其他构造函数,例如 []和 Word8 . 什么类型*在这种情况下?是否与kinds
我不明白为什么会出现这个错误 if (isset($_POST['submit'])) { require "../config.php"; require "../common.ph
我是一名优秀的程序员,十分优秀!