我构建了一个 compose 文件来创建 nginx、php、mysql 和 phpmyadmin。
一切都在为自己服务。 PHPmyAdmin 可以与 mysql 容器对话。 Nginx 可以与 php 容器通信。
但是 nginx 或 php 似乎无法与 mysql 通信。当执行类似的事情时
mysql_connect('localhost','florian','pw')
它返回:
Uncaught Error: Call to undefined function mysql_connect()
这是我的 docker-compose.yml
php:
build: php-docker/.
container_name: php
ports:
- "9000:9000"
volumes:
- /var/www/:/var/www/
nginx:
build: nginx-docker/.
container_name: nginx
links:
- php
ports:
- "80:80"
mysql:
build: mysql-docker/.
container_name: mysql
volumes:
- /var/mysql:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: pw
MYSQL_USER: florian
MYSQL_PASSWORD: pw
MYSQL_DATABASE: db
phpmyadmin:
build: phpmyadmin/.
links:
- mysql:db
ports:
- 1234:80
container_name: phpmyadmin
environment:
PMA_ARBITRARY: 1
PMA_USERNAME: florian
PMA_PASSWORD: pw
MYSQL_ROOT_PASSWORD: pw
restart: always
最佳答案
mysql_connect
函数已从 PHP 7.0 中删除。
您必须将代码迁移到 mysqli 扩展,该扩展提供类似的函数 mysqli_connect
,或者迁移到 PDO。
引用(看红色警告):http://php.net/manual/en/function.mysql-connect.php
关于php - Docker 没有 MySQL 连接到 Nginx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42345625/