Estoy tratando de crear un nuevo elemento a través del cartero en mi aplicación laravel que se ejecutó en la ventana acoplable. Los contenedores acoplables se generan automáticamente a través de ddev, que proporciona un entorno de desarrollo y se ejecutan con WSL2 Ubuntu 18.04. Así que aquí está el problema, puedo "migrar php artesanal" muy bien, incluso puedo "retocar php artesanal" y crear uno muy bien, pero cuando envío la solicitud a través del cartero desde mi máquina host, aparece este error.
Illuminate\Database\QueryException: SQLSTATE[HY000] [2002] Conexión rechazada (SQL: seleccionar recuento (*) como agregado de
usersdondeid= 1) en el archivo /var/www/html/vendor/laravel/framework/src/Illuminate /Database/Connection.php en la línea 671
Resolví este problema ayer con este https://www.craigforrester.com/posts/windows-subsystem-for-linux-disable-ipv6-for-apt/ pero lo intenté cuando recibí este error nuevamente hoy y no tuve suerte.
Cosas que he probado:
Lo que creo que es: estoy 99% seguro de que esto no es un problema de credenciales y más aún un problema de enrutamiento, porque como dije en el primer párrafo, puedo migrar y crear desde WSL Ubuntu. Creo que el problema de enrutamiento es de mi host a WSL o de WSL a mysql. Pero, de nuevo, mi solicitud parece estar funcionando; de lo contrario, habría recibido algún tipo de error de conexión de PHP y no un error de conexión de MySQL.
Tuve este problema hace un tiempo, resultó que tenía que configurar DB_HOST con el nombre del contenedor docker mysql: -
ventana acoplable-compose.yml: -
version: '3.1' services: php: build: context: . dockerfile: .docker/Dockerfile image: larastock ports: - 8000:80 restart: always volumes: - .:/var/www/html networks: - larastock mysql: image: mysql:8.0 volumes: - db_data:/var/lib/mysql restart: always ports: - 3306:3306 environment: MYSQL_DATABASE: larastock MYSQL_USER: root MYSQL_PASSWORD: password MYSQL_ROOT_PASSWORD: password networks: - larastock phpmyadmin: depends_on: - mysql image: phpmyadmin/phpmyadmin restart: always ports: - 8001:80 environment: PMA_HOST: mysql MYSQL_ROOT_PASSWORD: password networks: - larastock networks: larastock: volumes: db_data:.env:-
DB_CONNECTION=mysql DB_HOST=mysql DB_PORT=3306 DB_DATABASE=larastock DB_USERNAME=root DB_PASSWORD=password