Tag: symfony

如何正确检查是否安装了Symfony应用程序?

在我们的Dockerfile的entrypoint.sh我需要检查(实际上是数据库),看看是否有一个应用程序当前安装,如果不运行一个php app/console命令。 这是我目前的做法: CHECK=$(php app/console doctrine:query:sql "SELECT * FROM user" -q) if [ $? -ne 0 ]; then php app/console vendor:install fi 哪个不舒服 还有其他什么方法来检查这个? 注意数据库是由第三方MySql代理服务创build的。 所以我无法检查数据库的存在,因为永远是真的。

在Docker中保留Symfony2应用程序开发的环境variables值

我有一个在Docker容器中运行的Symfony2应用程序。 parameters.yml文件被设置为挑选环境variables,如下所示: framework: secret: "%env.secret%" … Docker撰写文件的内容是: services: my-website: env_file: my-website.env build: . expose: – "80" volumes: – .:/app 环境variables文件是: SYMFONY__ENV__SECRET=1234567890 … 一切工作正常,当通过“app.php”访问。 然而,当在开发模式(通过app_dev.php)访问它无法挑选环境variables。 有没有办法使用环境variables? 我不想创build具有硬编码值的另一个parameters.yml文件。 比你!

Docker无法连接到Websocket PHP

我无法连接到WebSocket使用Doker容器 我的docker-compose.yml: ` version: "2" services: db: image: mysql ports: – 3306:3306 volumes: – "./.data/db:/var/lib/mysql" environment: MYSQL_ROOT_PASSWORD: "qwerty" MYSQL_DATABASE: "web_face" MYSQL_USER: "web_face" MYSQL_PASSWORD: "qwerty" php: build: php7-fpm ports: – 9000:9000 – 3333:3333 links: – db:mysqldb volumes: – ../www/:/var/www/symfony – ../logs/symfony:/var/www/symfony/app/logs – ../logs/php:/data/log/phpfpm/ nginx: build: nginx ports: – 80:80 links: – php volumes_from: – php volumes: […]

在Docker容器启动时运行Symfony数据库迁移脚本

希望问题标题不要太混乱。 基本上我有一个基于Docker的Symfony 3应用程序。 我想要在Docker启动时运行应用程序的数据库迁移。 基本上这样我就可以通过运行“docker-compose up”来使应用程序启动并运行fixture数据。 但是,如果你的所有容器都来自图像呢? 我的应用程序将运行以下docker-compose.yml version: '2' services: nginx: image: nginx:latest container_name: symfony_nginx ports: – "80:80" volumes_from: – php volumes: – ./etc/build/dev/nginx/conf.d:/etc/nginx/conf.d – ./var/logs/nginx:/var/log/nginx php: image: letsbonus/php-dev:7.0 container_name: symfony_php volumes: – ./:/app ports: – "2222:22" working_dir: /app redis: image: redis:3.0.7-alpine container_name: symfony_redis elk: image: willdurand/elk container_name: symfony_elk ports: – "81:80" volumes: – […]

Docker – pdo_mysql(nginx + PHP7 + MariaDB + phpMyAdmin)Symfony + Doctrine

将pdo_mysql安装到我的docker容器中有点问题。 在Symfony中,我得到这个错误: PDOException PDOException DriverException HTTP 500内部服务器错误驱动程序发生exception:无法find驱动程序 Symfony – config.yml doctrine: dbal: driver: pdo_mysql Dockerfile FROM phpdockerio/php7-fpm:latest # Install selected extensions and other stuff RUN apt-get update \ && apt-get -y –no-install-recommends install vim mc apt-utils \ && php7-pdo_mysql php7-pdo \ && apt-get clean; rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/* WORKDIR "/var/www/project" 泊坞窗,compose.yml version: "3.1" […]

用于symfonycaching的Fedora docker的setfacl权限

在我们公司,我们使用的是Docker,大多数开发人员使用Ubuntu。 我现在切换到Fedora,并通过ACL设置除了访问权限之外的所有内容。 在Ubuntu中,我们做了一个简单的setfacl -R -mg:www-data:rwX -mu:$USER:rwX {folderList} ,但是在Fedora26中,组www-data不存在。 韦尔普,我可以简单地创build组,但是这并不能解决我所猜测的问题,因为它仍然需要“连接”到docker,对吗? 我遇到的问题是Symfony应用程序无法写入cache文件夹,因为它没有权限。 这是我们使用setfacl的,但我不知道如何解决这个在Fedora中。

在Docker环境中使用Blackfire容器来剖析我的应用程序

今天我正在尝试将Blackfire添加到我的Docker堆栈中! 我遵循专用于Docker实现的Blackfire文档,容器设置正确,但我无法成功创build我的应用程序的第一个configuration文件。 这是一个Symfony堆栈。 我有一个PHP-FPM容器,以及一个启动命令的CLI容器。 NGINX容器是networking服务器。 我docker-compose.yml文件如下: — cli: container_name: my_app_cli build: cli volumes: – "./volumes/apps:/srv/apps" stdin_open: true tty: true environment: – PHP_EXTRA_CONFIGURE_ARGS=–with-ldap links: – mysql:mysql – redis:redis – rabbitmq:rabbitmq – web:web – blackfire:blackfire mysql: container_name: my_app_mysql build: mysql environment: – MYSQL_DATABASES=my_database – MYSQL_ROOT_PASSWORD=sgreat_password – MYSQL_HOST=localhost – MYSQL_PORT=33306 – MYSQL_USER=guest – MYSQL_PASSWORD=password – MYSQL_LOYALTY_DATABASE=my_database ports: # […]

错误:无法取消链接旧的'gulpfile.js'(权限被拒绝),而使用Docker Compose的开发环境

我正在开发一个PHP 7.1 Web应用程序使用以下内容: Symfony 3.2 Docker Compose 1.12.0 Ubuntu 16.04 x64 当运行docker-compose up -d ,我的绑定安装项目目录的所有者和组被更改为root。 因此,每当我尝试提交更改或从我的远程git pull ,我会看到以下内容: error: unable to unlink old 'gulpfile.js' (Permission denied) fatal: Could not reset index file to revision 'HEAD^'. 将项目目录的所有者和组更改回我的用户将删除该错误。 在使用Docker Compose进行开发时,是否有更简单的方法来防止这些用户权限冲突? 编辑 这是我目前的目录结构的概述: dockerComposeAndProjectDir/ |– projectDirectory/ |– dockerComposeDirectory/ |– docker-compose.yml

不能在Symfony 3中使用mongodb(docker)

我有一些问题整合MongoDB与Symfony 3.1.2。 我使用DoctrineMongoDBBundle 。 一切都好,直到“坚持对象到MongoDB”的阶段。 当我添加行: $dm = $this->get('doctrine_mongodb')->getManager(); $dm->persist($product); $dm->flush(); 我的远程数据库没有任何反应,我得到错误消息: Attempted to load class "MongoId" from the global namespace. Did you forget a "use" statement? 我在Mac上使用docker beta。 我的docker-compose.yml: version: '2' services: application_ad: image: busybox volumes: – ./:/var/www/html – ./docker/nginx/conf.d/ad.conf:/etc/nginx/conf.d/default.conf entrypoint: "tail -f /dev/null" php_ad: build: ./docker/php-fpm links: – db volumes_from: – application_ad web_ad: […]

在Symfony中执行RabbitMQ使用者时,“读取数据时出错”

我有一个RabbitMQ容器和一个带有Symfony 3.1.x项目的PHP 7容器,它使用OldSoundRabbitMqBundle执行一个RabbitMQ使用者。 运行执行test使用者的命令时: bin/console rabbitmq:consumer -w test 我得到以下错误: [PhpAmqpLib \exception\ AMQPIOException] 读取数据时出错。 收到0而不是预期的7个字节 我的设置非常简单,我检查了以下几点: RabbitMQ是最新版本(3.6.5) configuration的host , vhost , user , password参数是正确的 启用了mbstring扩展 build立一个项目来重现问题真的很容易。 示例项目在GitHub上可用, README文件中提供了说明,只需几个步骤即可重现问题。 这里有一些亮点: 泊坞窗,compose.yml version: '2' services: php: build: ./docker/php/ links: – rabbitmq volumes: – ./src:/var/www/rabbitmq-test working_dir: /var/www/rabbitmq-test rabbitmq: image: rabbitmq:3.6-management config.yml old_sound_rabbit_mq: connections: default: host: 'rabbitmq' port: 5672 user: […]