错误 运行 Symfony 1.4 在 docker 下推动应用程序
Error running Symfony 1.4 propel app under docker
我尝试 运行 我的旧 Symfony 1.4 propel 应用程序 docker 并且为此我在我的 docker-compose.yml :
version: '3.1'
services:
web:
container_name: Demo_Ads_web
build:
context: ./web
dockerfile: Dockerfile.yml
environment:
- APACHE_RUN_USER=www-data
volumes:
- ${APP_PATH_HOST}:${APP_PTH_CONTAINER}
ports:
- 8090:80
working_dir: ${APP_PTH_CONTAINER}
db:
container_name: Demo_Ads_db
image: mysql:5.6.46
restart: always
environment:
MYSQL_ROOT_PASSWORD: 1
volumes:
- ${DB_PATH_HOST}:/var/lib/mysql
phpmyadmin:
container_name: Demo_Ads_phpmyadmin
depends_on:
- db
image: phpmyadmin/phpmyadmin
restart: always
ports:
- 8091:80
environment:
PMA_HOST: db
MYSQL_ROOT_PASSWORD: 1
我不确定 /config/databases.yml 的有效格式是什么,因为我需要在其中设置数据库容器。
我试过了:
all:
propel:
class: sfPropelDatabase
param:
dsn: mysql://root:db@1/Demo_Ads_Docker
其中 Demo_Ads_Docker 是数据库名称
1 - 密码
db - 数据库容器
root 登录用户
但看起来是无效的,因为我收到错误:
[PropelException]
[wrapped: mysql extension not loaded [User Info: Array]]
哪种格式有效?是因为 databases.yml 中的参数错误导致的错误吗?
已修改:
在我的 web/Dockerfile.yml mysql 中设置:
FROM php:5.4-apache
RUN apt-get update && \
apt-get install -y \
python \
libfreetype6-dev \
libwebp-dev \
libjpeg62-turbo-dev \
libpng-dev \
nano \
git-core \
curl \
build-essential \
openssl \
libssl-dev \
libldap2-dev \
netcat \
sqlite3 \
libsqlite3-dev \
&& git clone https://github.com/nodejs/node.git \
&& cd node \
&& git checkout v12.0.0 \
&& ./configure \
&& make \
&& make install
RUN npm install cross-env
RUN docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-webp-dir=/usr/include/ --with-jpeg-dir=/usr/include/
RUN docker-php-ext-install gd mysql zip bcmath pcntl sysvmsg exif \
&& a2enmod rewrite
COPY virtualhost.conf /etc/apache2/sites-enabled/000-default.conf
我需要 mysql我吗?还请问/config/databases.yml 文件的格式是什么?
已修改 2:
我添加了 mysql、mysqli,但现在 运行ning 应用程序出现错误:
[wrapped: connect failed [Native Error: Invalid argument] [User Info: Array]]
/config/databases.yml 文件的格式是否无效?
修改 3 :
我重新制作了 Demo_Ads/config/databases.yml :
all:
propel:
class: sfPropelDatabase
param:
classname: PropelPDO
dsn: mysql:dbname=Demo_Ads_db;host=db
username: root
password: 1
并在 phpmyadmin 中创建 Demo_Ads_db 数据库。
我删除了缓存目录
但是 运行我在应用程序中遇到了错误:
[wrapped: connect failed [Native Error: No such file or directory] [User Info: Array]]
怎么了?
数据库连接的有效格式是:
dsn: mysql://root:1@db/Demo_Ads_Docker
这对我有用!
我尝试 运行 我的旧 Symfony 1.4 propel 应用程序 docker 并且为此我在我的 docker-compose.yml :
version: '3.1'
services:
web:
container_name: Demo_Ads_web
build:
context: ./web
dockerfile: Dockerfile.yml
environment:
- APACHE_RUN_USER=www-data
volumes:
- ${APP_PATH_HOST}:${APP_PTH_CONTAINER}
ports:
- 8090:80
working_dir: ${APP_PTH_CONTAINER}
db:
container_name: Demo_Ads_db
image: mysql:5.6.46
restart: always
environment:
MYSQL_ROOT_PASSWORD: 1
volumes:
- ${DB_PATH_HOST}:/var/lib/mysql
phpmyadmin:
container_name: Demo_Ads_phpmyadmin
depends_on:
- db
image: phpmyadmin/phpmyadmin
restart: always
ports:
- 8091:80
environment:
PMA_HOST: db
MYSQL_ROOT_PASSWORD: 1
我不确定 /config/databases.yml 的有效格式是什么,因为我需要在其中设置数据库容器。 我试过了:
all:
propel:
class: sfPropelDatabase
param:
dsn: mysql://root:db@1/Demo_Ads_Docker
其中 Demo_Ads_Docker 是数据库名称 1 - 密码 db - 数据库容器 root 登录用户
但看起来是无效的,因为我收到错误:
[PropelException]
[wrapped: mysql extension not loaded [User Info: Array]]
哪种格式有效?是因为 databases.yml 中的参数错误导致的错误吗?
已修改:
在我的 web/Dockerfile.yml mysql 中设置:
FROM php:5.4-apache
RUN apt-get update && \
apt-get install -y \
python \
libfreetype6-dev \
libwebp-dev \
libjpeg62-turbo-dev \
libpng-dev \
nano \
git-core \
curl \
build-essential \
openssl \
libssl-dev \
libldap2-dev \
netcat \
sqlite3 \
libsqlite3-dev \
&& git clone https://github.com/nodejs/node.git \
&& cd node \
&& git checkout v12.0.0 \
&& ./configure \
&& make \
&& make install
RUN npm install cross-env
RUN docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-webp-dir=/usr/include/ --with-jpeg-dir=/usr/include/
RUN docker-php-ext-install gd mysql zip bcmath pcntl sysvmsg exif \
&& a2enmod rewrite
COPY virtualhost.conf /etc/apache2/sites-enabled/000-default.conf
我需要 mysql我吗?还请问/config/databases.yml 文件的格式是什么?
已修改 2: 我添加了 mysql、mysqli,但现在 运行ning 应用程序出现错误:
[wrapped: connect failed [Native Error: Invalid argument] [User Info: Array]]
/config/databases.yml 文件的格式是否无效?
修改 3 : 我重新制作了 Demo_Ads/config/databases.yml :
all:
propel:
class: sfPropelDatabase
param:
classname: PropelPDO
dsn: mysql:dbname=Demo_Ads_db;host=db
username: root
password: 1
并在 phpmyadmin 中创建 Demo_Ads_db 数据库。
我删除了缓存目录
但是 运行我在应用程序中遇到了错误:
[wrapped: connect failed [Native Error: No such file or directory] [User Info: Array]]
怎么了?
数据库连接的有效格式是:
dsn: mysql://root:1@db/Demo_Ads_Docker
这对我有用!