我有一个 docker-compose.yml 文件,我在其中定义了 php 的图像和构建。它是为带有 php、nginx 和 postgresql 和 postgis 的 Symfony 应用程序制作的:
version: '2'
services:
front:
image: nginx
ports:
- "81:80"
links:
- "engine:engine"
- "db:db"
volumes:
- ".:/home/docker:ro"
- "./docker/front/default.conf:/etc/nginx/conf.d/default.conf:ro"
engine:
build: ./docker/engine/
volumes:
- ".:/home/docker:rw"
- "./docker/engine/php.ini:/usr/local/etc/php/conf.d/custom.ini:ro"
links:
- "db:db"
working_dir: "/home/docker"
db:
image: camptocamp/postgres:9.6
ports:
- "5433:5432"
environment:
- "POSTGRES_DB=pfe"
- "POSTGRES_PASSWORD=admin"
- "POSTGRES_USER=admin"
- "PGDATA=/var/lib/postgresql/data/pgdata"
Run Code Online (Sandbox Code Playgroud)
在 Ubuntu 上一切正常,但是当我尝试在 Windows 10 上运行相同的环境时,出现错误。
docker-compose exec engine bin/console doctrine:schema:create
/usr/bin/env: 'php\r': No such file or directory
Run Code Online (Sandbox Code Playgroud) 我有一个普通的User类,当我使用MySQL时,只有id属性才能正常工作.自从我改为Postgresql后,我开始遇到很多问题.
让我首先概述一下我的应用程序,它是一个网络上的GIS,我放了一个TSV文件和我制作的php脚本,它读取TSV文件并将其数据保存在数据库中.然后Geoserver读取数据并将其提供给我的传单地图.所以Postgresql非常重要,因为Geoserver不支持MySQL.
起初我使用命令行工具创建了数据库及其模式.一切都很好,直到这里,但当我尝试使用命令行来创建用户时,它会抛出SQLSTATE [42601]语法错误:
In AbstractPostgreSQLDriver.php line 70:
An exception occurred while executing 'INSERT INTO user (username, username_canonical, emai
l, email_canonical, enabled, salt, password, last_login, confirmation_token, password_reque
sted_at, roles, id) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)' with params ["admin", "adm
in", "admin@ferrybox.tk", "admin@ferrybox.tk", 1, null, "$2y$13$rS4j9aDRRpKMA2ge3QoDNuhmCWD
9cO9Cmnzv\/PxqUmBxSximXcFZu", null, null, null, "a:0:{}", 1]:
SQLSTATE[42601]: Syntax error: 7 ERREUR: erreur de syntaxe sur ou près de « user »
LINE 1: INSERT INTO user (username, …Run Code Online (Sandbox Code Playgroud)