我使用Docker在本地设置了一个Drupal网站。网站正确加载但我似乎无法通过登录表单。我被重定向到登录屏幕,没有任何错误消息。
我的本地网址为http://127.0.0.1:8000,我尝试在设置文件中设置基本网址和Cookie域值,但这没有效果。
我注意到如果我没有使用干净的URL(通过index.php?q = user)我可以登录
但是一旦登录到管理区域,我就无法提交任何表单(创建新内容,禁用模块等...),页面只是重新加载而没有错误消息
状态报告中没有错误,Apache日志中没有任何错误,控制台中没有错误。
我的设置文件如下所示:
<?php
$databases['default']['default'] = array(
'driver' => 'mysql',
'database' => 'db',
'username' => 'user',
'password' => '123',
'host' => php_sapi_name() == 'cli' ? '127.0.0.1' : 'db',
'prefix' => '',
'collation' => 'utf8_general_ci',
);
$update_free_access = FALSE;
$drupal_hash_salt = '';
ini_set('session.gc_probability', 1);
ini_set('session.gc_divisor', 100);
ini_set('session.gc_maxlifetime', 200000);
ini_set('session.cookie_lifetime', 2000000);
我的DockerFile:
FROM php:7.1.2-apache
RUN docker-php-ext-install pdo_mysql
RUN apt-get -y update && apt-get install -y git\
&& apt-get install -y libicu-dev\
&& apt-get install -y zlib1g-dev \
&& apt-get install -y libpng-dev \
&& docker-php-ext-configure intl \
&& docker-php-ext-install intl \
&& docker-php-ext-install zip \
&& docker-php-ext-install gd \
&& apt-get install -y zip \
&& apt-get install -y unzip \
&& apt-get install -y vim
ADD . /var/www
WORKDIR /var/www
RUN curl -sS https://getcomposer.org/installer | php \
&& mv composer.phar /usr/local/bin/ \
&& ln -s /usr/local/bin/composer.phar /usr/local/bin/composer
RUN composer global require hirak/prestissimo
我的docker-compose.yml文件:
version: "3"
volumes:
database_data:
driver: local
services:
www:
build: .
ports:
- "8001:80"
volumes:
- .:/var/www/
- ./docker/apache/vhost.conf:/etc/apache2/sites-available/000-default.conf
links:
- db
db:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: 123
MYSQL_DATABASE: db
MYSQL_USER: user
MYSQL_PASSWORD: 123
ports:
- "3306:3306"
volumes:
- ./docker/mysqldump:/docker-entrypoint-initdb.d
phpmyadmin:
image: phpmyadmin/phpmyadmin
links:
- db:db
ports:
- 8000:80
environment:
MYSQL_USER: user
MYSQL_PASSWORD: 123
MYSQL_ROOT_PASSWORD: 123