0
点赞
收藏
分享

微信扫一扫

php连接docker-compose里面的mysql数据库

sullay 2022-07-27 阅读 66


docker-compose配置文件:

version: '3'
services:
mysql:
image: "mysql:5.7.19"
container_name: ysp_mysql_57
environment:
TZ: Asia/Shanghai
MYSQL_ROOT_PASSWORD: "123456"
restart: always
command:
--character-set-server=utf8mb4
--collation-server=utf8mb4_general_ci
--explicit_defaults_for_timestamp=true
--lower_case_table_names=1
--max_allowed_packet=128M
--default-authentication-plugin=mysql_native_password
--sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO"
volumes:
- mysql-data:/var/lib/mysql
ports:
- "3357:3306"

web:
image: nginx:latest
container_name: ysp_nginx
ports:
- "80:80"
- "89:89"
restart: always
volumes:
- D:\www:/opt/WebRoot

- ./nginx/nginx.conf:/etc/nginx/nginx.conf
- ./nginx/conf.d:/etc/nginx/conf.d/:ro
environment:
- TZ=Asia/Shanghai
links:
- php

php:
image: registry.gz.xx.cn/xx/php:7.3.0
container_name: ysp_php_70
ports:
- "9000"
restart: always
volumes:
- D:\www:/opt/WebRoot
- ./php/conf/php-fpm.conf:/usr/local/etc/php-fpm.conf
- ./php/conf/www.conf:/usr/local/etc/php-fpm.d/www.conf
environment:
- TZ=Asia/Shanghai
- LC_ALL=C.UTF-8
links:
- mysql

redis:
image: redis
container_name: ysp_redis
ports:
- "6379:6379"
environment:
- TZ=Asia/Shanghai
volumes:
- redis_data:/var/lib/redis
volumes:
mysql-data:
redis_data:

docker-compose启动:

docker-compose up -d

注意修改 docker-compose.yml之后,需要运行:

docker-compose down

这个命令会删除原来的容器,并重新加载yml配置文件。

php连接docker-compose里面的mysql:

class TestController extends AppController {

public function test() {
$dsn = 'mysql:dbname=mysql;host=mysql;port=3306';
$username = 'root';
$password = '123456';
try {
$db = new PDO($dsn, $username, $password);
} catch (PDOException $e) {
die('Could not connect to the database:' . $e);
}
$statement = <<<SQL
SELECT *
FROM `user`
SQL;
$sth = $db->prepare($statement);
$sth->execute();

/* 获取结果集中所有剩余的行 */
print("Fetch all of the remaining rows in the result set:\n");
$result = $sth->fetchAll();
echo "<pre>";
print_r($result); // phpinfo();
echo "</pre>";
exit;
die('safdsa');
}

php连接docker-compose里面的mysql数据库_nginx

参考:

​​https://www.digitalocean.com/community/tutorials/how-to-set-up-laravel-nginx-and-mysql-with-docker-compose​​


举报

相关推荐

0 条评论