2017-05-26 27 views
1

ドッカーには新しく、私はLaravel 5.1で動作するように設定しようとしています。私は現在、次のエラー私はmbstring PHPの拡張子がインストールされていないため、これがあると信じてlaravel 5のアプリケーション用ドッキング・イメージにmbstringを追加する

Call to undefined function Illuminate\Foundation\Bootstrap\mb_internal_encoding() in /var/www/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/LoadConfiguration.php:43 

を取得しています。私はphp-mbstringをDockerファイルに追加しようとしましたが、動作していないようです。ここで

は私の完全なドッカーは、私は、アプリケーションフォルダからsudo docker compose upを実行しています

FROM php:5.6.30-fpm 

    RUN apt-get update && apt-get install -y libmcrypt-dev \ 
     mysql-client libmagickwand-dev --no-install-recommends \ 
     && pecl install imagick \ 
     && docker-php-ext-install mcrypt pdo_mysql \ 
     && docker-php-ext-install php-mbstring 

ファイルです。しかし、これはエラーを解決するようには思われません。拡張機能が適切にインストールされているかどうかはどのようにわかりますか?

編集:私はphp-プレフィックスを削除

version: '2' 
services: 

    # The Application 
    app: 
    build: 
     context: ./ 
     dockerfile: app.dockerfile 
    working_dir: /var/www 
    volumes: 
     - ./:/var/www 
    environment: 
     - "DB_PORT=3306" 
     - "DB_HOST=database" 

    # The Web Server 
    web: 
    build: 
     context: ./ 
     dockerfile: web.dockerfile 
    working_dir: /var/www 
    volumes_from: 
     - app 
    ports: 
     - 8080:80 

    # The Database 
    database: 
    image: mysql:5.6 
    volumes: 
     - dbdata:/var/lib/mysql 
    environment: 
     - "MYSQL_DATABASE=homestead" 
     - "MYSQL_USER=homestead" 
     - "MYSQL_PASSWORD=secret" 
     - "MYSQL_ROOT_PASSWORD=secret" 
    ports: 
     - "33061:3306" 

volumes: 
    dbdata: 

答えて

0

以下ドッキングウィンドウ-compose.ymlファイルが含まれているし、それが正常に動作する必要があります。また、以前のdocker-php-ext-installのコマンドで実行することができます:

docker-php-ext-install mcrypt pdo_mysql mbstring

+0

ご回答ありがとうございます。私はPHPを削除しようとしたが、それでも同じエラーが出る。前の 'docker-php-ext-install'を実行することについての素晴らしいヒント。 – SamBremner

+0

Odd。私たちは問題を再現しようとすることができますあなたの質問にあなたのdocker-composer.ymlを投稿できますか? :) –

+0

私は私の質問にdocker-compose.ymlファイルを追加しました。あなたがチャンスを取ったときに見てください。ありがとう。 – SamBremner

0

のUbuntuのphp-mbstring拡張上のphp-共通の問題を引き起こす可能性がありphp7.1-mbstring拡張などのバージョン固有のmbstring拡張モジュールに依存しています。以下のコマンドで依存関係を確認できます。

apt-cache depends php-mbstring 
+0

あなたの応答をありがとう、私はコマンド 'sudo docker exec -it 81a8f6eea495 apt-cache depends php-mbstring'を使ってドッカー内から依存関係を見つけようとしましたが、 'パッケージが見つかりません'という結果が返されます。私もドッカーファイルにcommonとphp-commonを追加しようとしましたが、まだ同じエラーが表示されています。 – SamBremner

関連する問題