Docker-compose (CakePHP 2x and MySQL) throws PHP 致命错误

Docker-compose (CakePHP 2x and MySQL) throws PHP Fatal error

尝试 运行 docker-撰写时,在 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 是 运行 时,但是在 Web 浏览器中 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 数据库是 运行ning。

在容器中,导航至 var/www/html/app/ 和 运行 在您的 \tmp 文件夹中执行以下命令:chmod -R 777 tmp/.

我上面描述的错误原因是因为\tmp文件不可写。