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文件不可写。
尝试 运行 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文件不可写。