docker php连接mysql_基于docker的php调用基于docker的mysql数据库的方法
时间: 2023-10-16 20:09:07 浏览: 249
基于Docker的PHP调用基于Docker的Mysql数据库
要在Docker中使用PHP和MySQL,我们需要使用两个容器:一个用于PHP,另一个用于MySQL。 我们可以使用docker-compose来管理这两个容器并设置它们之间的连接。
以下是一个简单的docker-compose.yml文件,其中包含PHP和MySQL容器的配置:
```
version: '3.7'
services:
db:
image: mysql:5.7
restart: always
environment:
MYSQL_DATABASE: 'my_database'
MYSQL_USER: 'my_user'
MYSQL_PASSWORD: 'my_password'
MYSQL_ROOT_PASSWORD: 'my_root_password'
ports:
- '3306:3306'
volumes:
- database_data:/var/lib/mysql
php:
build: .
ports:
- "8080:80"
volumes:
- ./src:/var/www/html
depends_on:
- db
volumes:
database_data:
```
其中,我们定义了一个名为“db”的MySQL容器,并将其端口映射到主机的3306端口。我们还定义了一个名为“php”的PHP容器,并将其端口映射到主机的8080端口。这个容器依赖于“db”容器。
在PHP代码中,我们可以使用以下代码来连接到MySQL数据库:
```
$servername = "db";
$username = "my_user";
$password = "my_password";
$dbname = "my_database";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
```
在这个例子中,我们使用“db”作为MySQL服务器的主机名,这是我们在docker-compose.yml文件中定义的MySQL容器的名称。我们还使用了在docker-compose.yml文件中定义的用户名,密码和数据库名称。
希望这可以帮助您开始使用Docker和PHP连接MySQL数据库。
阅读全文