尝试将dockerized PHP-Application连接到MySQL-Container时,出现以下错误:SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Dockerfile:
FROM tutum/apache-php
RUN rm -fr /app
COPY . /app
ENV DB_HOST=192.168.99.100
ENV DB_NAME=azk
ENV DB_USER=root
ENV DB_PW=my-secret-pw
如果我不使用PDO,那么连接是有效的,所以PDO会出现问题,但我不知道是什么......
答案 0 :(得分:0)
PDO使用unix套接字连接而不是tcp。请参阅answer如何强制使用tcp连接。
在您的情况下,您可能没有将ENV DB_HOST应用于php应用程序配置文件。 (您可以使用x=10;
y = --x + x++;
// y = (10-1) /* now x==9 */ + (9); /* after this x == 10 */
// y = (9) + (9); /* and now x == 10 */
// y == 18 and x == 10
功能)