php artisan migrate
をするとエラーが出ますが解決できず困っており、解決策を教えて頂けないでしょうか。
エラー内容とenvファイルの一部は下記になります。
###エラー内容
Illuminate\Database\QueryException : SQLSTATE[HY000] [2002] Connection refused (SQL: select * from information_schema.tables where table_schema = hoge and table_name = migrations) at /var/www/vendor/laravel/framework/src/Illuminate/Database/Connection.php:664 660| // If an exception occurs when attempting to run a query, we'll format the error 661| // message to include the bindings with SQL, which will make this exception a 662| // lot more helpful to the developer instead of just the database's errors. 663| catch (Exception $e) { > 664| throw new QueryException( 665| $query, $this->prepareBindings($bindings), $e 666| ); 667| } 668| Exception trace: 1 Doctrine\DBAL\Driver\PDOException::("SQLSTATE[HY000] [2002] Connection refused") /var/www/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:31 2 PDOException::("SQLSTATE[HY000] [2002] Connection refused") /var/www/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:27 Please use the argument -v to see more details.
###.envファイル(一部)
APP_NAME=Laravel APP_ENV=local APP_DEBUG=true APP_URL=nginx LOG_CHANNEL=stack DB_CONNECTION=mysql DB_HOST=mysql DB_PORT=3306 DB_DATABASE=hoge DB_USERNAME=root DB_PASSWORD=secret
また、db接続ができておらず、.env
の設定が間違えているなどの記事もあるのですが、sequel proでは接続できました。
よろしくお願いいたします。
ーーー 追記 ーーー
dockerの設定
###.env
MYSQL_VERSION=5.7 MYSQL_DATABASE=hoge MYSQL_USER=root MYSQL_PASSWORD=secret MYSQL_PORT=4306 MYSQL_ROOT_PASSWORD=secret MYSQL_ENTRYPOINT_INITDB=./mysql/docker-entrypoint-initdb.d
###Dockerfile
ARG MYSQL_VERSION=latest FROM mysql:${MYSQL_VERSION} LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>" ##################################### # Set Timezone ##################################### ARG TZ=JST ENV TZ ${TZ} RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone && chown -R mysql:root /var/lib/mysql/ COPY my.cnf /etc/mysql/conf.d/my.cnf CMD ["mysqld"] EXPOSE 3306
###my.cnf
# The MySQL Client configuration file. # # For explanations see # http://dev.mysql.com/doc/mysql/en/server-system-variables.html [mysql] [mysqld] sql-mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION" character-set-server=utf8 explicit_defaults_for_timestamp = true skip-grant-tables
docker-compose.yml
version: '3' networks: frontend: driver: ${NETWORKS_DRIVER} backend: driver: ${NETWORKS_DRIVER} volumes: mysql: driver: ${VOLUMES_DRIVER} redis: driver: ${VOLUMES_DRIVER} services: ### Workspace Utilities ################################## workspace: build: context: ./workspace args: - COMPOSER_GLOBAL_INSTALL=${WORKSPACE_COMPOSER_GLOBAL_INSTALL} - LARADOCK_PHP_VERSION=${PHP_VERSION} - INSTALL_NODE=${WORKSPACE_INSTALL_NODE} - NODE_VERSION=${WORKSPACE_NODE_VERSION} - NPM_REGISTRY=${WORKSPACE_NPM_REGISTRY} - INSTALL_YARN=${WORKSPACE_INSTALL_YARN} - YARN_VERSION=${WORKSPACE_YARN_VERSION} - INSTALL_NPM_GULP=${WORKSPACE_INSTALL_NPM_GULP} - INSTALL_NPM_BOWER=${WORKSPACE_INSTALL_NPM_BOWER} - INSTALL_NPM_VUE_CLI=${WORKSPACE_INSTALL_NPM_VUE_CLI} - INSTALL_NPM_ANGULAR_CLI=${WORKSPACE_INSTALL_NPM_ANGULAR_CLI} - INSTALL_PHPREDIS=${WORKSPACE_INSTALL_PHPREDIS} - PUID=${WORKSPACE_PUID} - PGID=${WORKSPACE_PGID} - TZ=${WORKSPACE_TIMEZONE} volumes: - ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG} extra_hosts: - "dockerhost:${DOCKER_HOST_IP}" ports: - "${WORKSPACE_SSH_PORT}:22" tty: true environment: - PHP_IDE_CONFIG=${PHP_IDE_CONFIG} # - DOCKER_HOST=tcp://docker-in-docker:2375 networks: - frontend - backend # links: # - docker-in-docker ### PHP-FPM ############################################## php-fpm: build: context: ./php-fpm args: - INSTALL_BCMATH=${PHP_FPM_INSTALL_BCMATH} - LARADOCK_PHP_VERSION=${PHP_VERSION} - INSTALL_MYSQLI=${PHP_FPM_INSTALL_MYSQLI} - INSTALL_INTL=${PHP_FPM_INSTALL_INTL} - INSTALL_IMAGEMAGICK=${PHP_FPM_INSTALL_IMAGEMAGICK} - INSTALL_OPCACHE=${PHP_FPM_INSTALL_OPCACHE} - INSTALL_IMAGE_OPTIMIZERS=${PHP_FPM_INSTALL_IMAGE_OPTIMIZERS} - INSTALL_PHPREDIS=${PHP_FPM_INSTALL_PHPREDIS} - ADDITIONAL_LOCALES=${PHP_FPM_ADDITIONAL_LOCALES} volumes: - ./php-fpm/php${PHP_VERSION}.ini:/usr/local/etc/php/php.ini - ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG} expose: - "9000" extra_hosts: - "dockerhost:${DOCKER_HOST_IP}" environment: - PHP_IDE_CONFIG=${PHP_IDE_CONFIG} # - DOCKER_HOST=tcp://docker-in-docker:2375 depends_on: - workspace networks: - backend # links: # - docker-in-docker ### NGINX Server ######################################### nginx: build: context: ./nginx args: - PHP_UPSTREAM_CONTAINER=${NGINX_PHP_UPSTREAM_CONTAINER} - PHP_UPSTREAM_PORT=${NGINX_PHP_UPSTREAM_PORT} - CHANGE_SOURCE=${CHANGE_SOURCE} volumes: - ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG} - ${NGINX_HOST_LOG_PATH}:/var/log/nginx - ${NGINX_SITES_PATH}:/etc/nginx/sites-available - ${NGINX_SSL_PATH}:/etc/nginx/ssl ports: - "${NGINX_HOST_HTTP_PORT}:80" - "${NGINX_HOST_HTTPS_PORT}:443" depends_on: - php-fpm networks: - frontend - backend ### MySQL ################################################ mysql: build: context: ./mysql args: - MYSQL_VERSION=${MYSQL_VERSION} environment: - MYSQL_DATABASE=${MYSQL_DATABASE} - MYSQL_USER=${MYSQL_USER} - MYSQL_PASSWORD=${MYSQL_PASSWORD} - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} - TZ=${WORKSPACE_TIMEZONE} volumes: - ${DATA_PATH_HOST}/mysql:/var/lib/mysql - ${MYSQL_ENTRYPOINT_INITDB}:/docker-entrypoint-initdb.d ports: - "${MYSQL_PORT}:3306" networks: - backend ### Redis ################################################ redis: build: ./redis volumes: - ${DATA_PATH_HOST}/redis:/data ports: - "${REDIS_PORT}:6379" networks: - backend
回答2件
あなたの回答
tips
プレビュー