所以我正在創(chuàng)建一個新的 symfony 4 項目,但我無法讓 mysql 連接到我的 docker mysql。我做錯了什么?我試過更改 mysql 版本,將其組合起來并更新不同的 mysql 根和密碼,但沒有連接。這是我用于 mysql 的 docker-compose.yml。mysql: image: mysql:8 container_name: sf4_mysql volumes: - .docker/data/db:/var/lib/mysql command: - "--default-authentication-plugin=mysql_native_password" - "--lower_case_table_names=1" environment: MYSQL_ROOT_PASSWORD: root MYSQL_DATABASE: sf4 MYSQL_USER: sf4 MYSQL_PASSWORD: sf4這是我的 .env DATABASE_URL=mysql://sf4:sf4@sf4_mysql:3306/sf4 中的 mysql Url每次我做 ./bin/console 原則:數(shù)據(jù)庫:創(chuàng)建,連接被拒絕。只是試圖創(chuàng)建一個數(shù)據(jù)庫。控制器class HospitalAdminController extends AbstractController{ /** * @Route("/admin/hospital/new") */ public function new(EntityManagerInterface $em) { $hospital = new Hospital(); $hospital->setName('Example Hospital') ->setPhone(8175831483) ->setAddress('123 Avenue'); $em->persist($hospital); $em->flush(); return new Response(sprintf( 'Hiya! New Hospital id: #%d phone:%s address%s', $hospital->getId(), $hospital->getPhone(), $hospital->getAddress() ));}
1 回答

ibeautiful
TA貢獻1993條經(jīng)驗 獲得超6個贊
您需要公開 mysql 端口。默認為 3306。請參閱端口發(fā)布
以及更多特定于docker 上的 mysql-8 的示例
為了檢查 mysql 是否正在運行,最好在其客戶端的終端內運行,這樣可以最大限度地減少數(shù)據(jù)庫本身的潛在錯誤源,不包括 php 中的潛在錯誤。
- 1 回答
- 0 關注
- 501 瀏覽
添加回答
舉報
0/150
提交
取消