Docker-compose (CakePHP 2x и MySQL) выдает фатальную ошибку PHP

При попытке запустить docker-compose эта ошибка обнаруживается в var / log / apache2 / error.log:

PHP Fatal error:  Uncaught exception 'CacheException' with message 'Cache engine "_cake_core_" is not properly configured. Ensure required extensions are installed, and credentials/permissions are correct' in /var/www/html/lib/Cake/Cache/Cache.php:186\nStack trace:\n#0 /var/www/html/lib/Cake/Cache/Cache.php(151): Cache::_buildEngine('_cake_core_')\n#1 /var/www/html/app/Config/core.php(381): Cache::config('_cake_core_', Array)\n#2 /var/www/html/lib/Cake/Core/Configure.php(72): include('/var/www/html...')\n#3 /var/www/html/lib/Cake/bootstrap.php(431): Configure::bootstrap(true)\n#4 /var/www/html/app/webroot/index.php(95): include('/var/www/html...')\n#5 {main}\n  thrown in /var/www/html/lib/Cake/Cache/Cache.php on line 186

Оба контейнера запускаются при запуске docker-compose, но в веб-браузере по адресу localhost: 4001 страница не видна, выдается ошибка HTTP 500.

Вот файл docker-compose.yml

version: "3"

services:
  cakephp:
    build:
      context: .
      dockerfile: Dockerfile
    volumes:
      - .:/var/www/html/
    ports:
      - 4001:80
    environment:
      DB_DEFAULT_HOST: db
      DB_DEFAULT_LOGIN: root
      DB_DEFAULT_PASSWORD: password
      DB_DEFAULT_DATABASE: database
    depends_on:
      - db

  db:
    image: mysql:5.6
    ports:
      - 4000:3306
    volumes:
      - db-data:/var/lib/mysql
    environment:
      DATABASE_APP_SCHEMA: database
      MYSQL_ROOT_PASSWORD: password
      DATABASE_PASSWORD: password
      DATABASE_USERNAME: root

volumes:
  db-data:
    external: false

Я работаю на настольном компьютере с Ubuntu 18.04.

База данных MySQL работает.


person Brent    schedule 19.02.2019    source источник


Ответы (1)


В контейнере перейдите к var / www / html / app / и выполните следующую команду в папке \ tmp: chmod -R 777 tmp/.

Причина описанной выше ошибки заключалась в том, что файл \ tmp недоступен для записи.

person Brent    schedule 20.02.2019