質問 > その他 > スキーマ更新コマンドでドライバが存在しないエラーへの対処法 |
その他
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
r_yamada |
投稿日時: 2024/9/3 18:40
対応状況: 解決済
|
半人前 登録日: 2024/9/2 居住地: 投稿: 23 |
スキーマ更新コマンドでドライバが存在しないエラーへの対処法 ▼テンプレート
[EC-CUBE]4.3、新規インストール [レンタルサーバ]ローカル環境 [OS]windows10 [PHP]8.3.11 [データベース]mysql8.0 [WEBサーバ]DockerDesktop4.33.1(Ubuntu) [ブラウザ]chrome [導入プラグインの有無]なし [カスタマイズの有無]なし [現象] 初歩的な内容で申し訳ございませんが質問させてください。 以下ページ(https://doc4.ec-cube.net/quickstart/docker_compose_install)を参考にローカル環境を作成し、マスタ追加を行おうとスキーマ更新を行ったのですが以下MySqlのドライバが存在しないエラーが発生しました。 解決の為に様々なページを確認し、 DockerFileに以下を追加、 RUN docker-php-ext-install pdo pdo_mysql php.iniの以下コメントアウトを解除する extension=pdo_mysql docker-composeファイルを見直すなど行ったのですが解決せず、 お手数ですがどう解決すれば良いのか教えていただけないでしょうか。 なお、フロントでのユーザー登録は行えております コマンドライン実行--------------------------------------- $ php bin/console doctrine:schema:update --force --dump-sql In ExceptionConverter.php line 83: An exception occurred in the driver: could not find driver In Exception.php line 28: could not find driver In Driver.php line 43: could not find driver ------------------------------------------- ■docker-compose.mysql.yml version: '3' volumes: mysql-database: driver: local services: ec-cube: depends_on: mysql: condition: service_healthy environment: DATABASE_URL: "mysql://dbuser:secret@mysql/eccubedb" DATABASE_SERVER_VERSION: 8.0 DATABASE_CHARSET: 'utf8mb4' mysql: image: mysql:8.0 environment: MYSQL_ROOT_PASSWORD: root MYSQL_USER: dbuser MYSQL_PASSWORD: secret volumes: - mysql-database:/var/lib/mysql - ./dockerbuild/grant_to_dbuser.sql:/docker-entrypoint-initdb.d/grant_to_dbuser.sql ports: - 13306:3306 networks: - backend healthcheck: test: mysqladmin ping interval: 3s timeout: 3s retries: 3 ■docker-compose.yml version: "3" networks: backend: driver: bridge volumes: mailcatcher-data: driver: local ### ignore folder volume ##### var: driver: local vendor: driver: local node_modules: driver: local services: ### ECCube4 ################################## ec-cube: ### ローカルでビルドする場合は以下のコマンドを使用します ## docker build -t ec-cube --no-cache --pull --build-arg TAG=8.1-apache . ## docker tag ec-cube ghcr.io/ec-cube/ec-cube-php:8.1-apache image: ${REGISTRY:-ghcr.io}/${IMAGE_NAME:-ec-cube/ec-cube-php}:${TAG:-8.1-apache} ports: - 8080:80 - 4430:443 volumes: ### 同期対象からコストの重いフォルダを除外 ##################### - "var:/var/www/html/var" - "vendor:/var/www/html/vendor" - "node_modules:/var/www/html/node_modules" environment: # EC-CUBE environments APP_ENV: "dev" APP_DEBUG: 1 DATABASE_URL: "mysql://dbuser:secret@mysql/eccubedb" DATABASE_SERVER_VERSION: 3 DATABASE_CHARSET: 'utf8' MAILER_DSN: "smtp://mailcatcher:1025" ECCUBE_AUTH_MAGIC: "<change.me>" # TRUSTED_HOSTS: '^127.0.0.1$$,^localhost$$' # ECCUBE_LOCALE: "ja" # ECCUBE_TIMEZONE: "Asia/Tokyo" # ECCUBE_CURRENCY: "JPY" # ECCUBE_ADMIN_ROUTE: "admin" # ECCUBE_USER_DATA_ROUTE: "user_data" # ECCUBE_ADMIN_ALLOW_HOSTS: [] # ECCUBE_FORCE_SSL: false # ECCUBE_PHPINFO_ENABLED=false # ECCUBE_TEMPLATE_CODE: "default" # ECCUBE_COOKIE_NAME: "eccube" # ECCUBE_COOKIE_PATH: "/" # ECCUBE_COOKIE_LIFETIME: 0 # ECCUBE_GC_MAXLIFETIME: 1440 # ECCUBE_ADMIN_USER: "admin" # ECCUBE_ADMIN_PASS: "password" networks: - backend ### Mailcatcher ################################## mailcatcher: image: schickling/mailcatcher ports: - "1080:1080" - "1025:1025" networks: - backend |
tao_s |
投稿日時: 2024/9/4 16:06
対応状況: −−−
|
仙人 登録日: 2008/8/20 居住地: 東京 投稿: 804 |
Re: スキーマ更新コマンドでドライバが存在しないエラーへの対処法 基本的にリポジトリにあるDocke composeでMySQLのドライバ含めて環境はできあがるはずです。
現状の詳細な状態がわからないので、最初からコンテナ作り直した方が早いと思います。 https://doc4.ec-cube.net/quickstart/docker_compose_install#mysql-%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E5%A0%B4%E5%90%88 こちらを参考に再度環境作ってみてください
|
r_yamada |
投稿日時: 2024/9/5 11:38
対応状況: 解決済
|
半人前 登録日: 2024/9/2 居住地: 投稿: 23 |
Re: スキーマ更新コマンドでドライバが存在しないエラーへの対処法 ご回答ありがとうございます。
こちらスキーマ更新のコマンドをDocker外で実行していたことによるエラーで、ec-cubeのコンテナ内で実行した所上手くいきました。 お騒がせしました… |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |