Tag: symfony

在Docker容器中debuggingSymfony CLI应用程序和PhpStorm

我目前的设置涉及PhpStorm IDE,其中我已经导入Symfony 3项目,这基本上是CLI工具。 在主机上,我没有安装PHP,所以我正在从安装了PHP和Xdebug的Docker容器运行应用程序。 我没有问题来从Docker容器debuggingWeb应用程序,但是使用Symfony和这个CLI工具似乎有点棘手。 我的问题是如何正确设置和debugging从PhpStorm? 我试图创build一个新的debuggingconfiguration(PHP远程debugging),但不会触发断点。

Symfony项目中的Dockerfile?

我有一个symfony 3项目,我正在运行使用以下命令: php bin/console server:run 不过,我已经build立了一个Docker镜像,它使用下面的Dockerfile: FROM php:7.0-fpm WORKDIR / ADD . / EXPOSE 8000 ENTRYPOINT php bin/console server:run 有了入口点,我打算在运行Docker容器时实际运行项目。 不过,虽然我得到正确的信息说: [OK] Server listening on http://127.0.0.1:8000 该项目实际上不可用。 有人可以告诉我我哪里去错了!

Laravel 5.4 – 没有从Job加载SoapClient

我有一个问题让PHP的SoapClient工作在我的Laravel工作。 我use SoapClient导入SoapClient,但创build了可排队的作业,但Laravel无法find它。 但是当我在我的控制器中使用SoapClient时,它完美地工作。 我检查了phpini():SoapClient肯定是启用的。 有任何想法吗? 我的工作代码: <?php namespace App\Jobs; use SoapClient; use Tymon\JWTAuth\Exceptions\JWTException; use JWTAuth; use Illuminate\Bus\Queueable; use Illuminate\Queue\SerializesModels; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; class ProcessQueuedRenderRequests implements ShouldQueue { use Dispatchable, InteractsWithQueue, Queueable, SerializesModels; public function __construct() { } public function handle() { $soap = new SoapClient("http://mywsdl"); … 错误日志: [[2017-11-22 18:17:50] local.ERROR: Symfony\Component\Debug\Exception\FatalThrowableError: […]

SF3分析器404 nginx&docker

我使用这个configuration我的symfony3项目与docker工人: https : //github.com/darkiron/docker-compose 这工作很好,只是一个小问题: 404没有find 在Sf3分析器上使用nginx: http:// localhost:3636 / web / app_dev.php / _profiler / 546793 我读是一个nginx的configuration问题,我与特工nginxconfiguration文件,但她不工作。 我的nginx conf: https : //github.com/darkiron/docker-compose/blob/master/docker/nginx/default.conf server { index index.html; server_name localhost; error_log /var/log/nginx/error.log; access_log /var/log/nginx/access.log; root /code; location ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass php:9000; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO […]

无法创build容器:处理tar文件时出错(docker中的Symfony应用程序)

免责声明:我不提取tar文件,我无法find类似的问题。 我有一个docker-compose下运行的Symfony 3.4 + angular应用的docker镜像。 我为许多容器使用相同的映像,我在它们之间共享多个卷,因此它们共享相同的日志和caching,并且Nginx可以访问共享资源。 这是我的configuration: version: '3' services: php-fpm: image: registry.mydomain.com/vendor/repo:${TAG} command: ["php-fpm7", "-F"] volumes: – app:/var/www/symfonyapp/app – composer:/var/www/symfonyapp/vendor/composer – assets:/var/www/symfonyapp/web – angularapp:/var/www/angularapp/dist – var:/var/www/symfonyapp/var thruway-router: image: registry.mydomain.com/vendor/repo:${TAG} command: 'bin/console thruway:router:start' volumes: – app:/var/www/symfonyapp/app – composer:/var/www/symfonyapp/vendor/composer – assets:/var/www/symfonyapp/web – var:/var/www/symfonyapp/var thruway-worker: image: registry.mydomain.com/vendor/repo:${TAG} command: 'bin/console thruway:worker:start default' volumes: – app:/var/www/symfonyapp/app – composer:/var/www/symfonyapp/vendor/composer – […]

Docker – caching的已安装卷同步延迟

我正在用macOS构build一个使用docker撰写的本地开发环境。 我们有多个用php编写的应用程序,并且可以在Symfony中运行。 代码通过卷附加到容器上。 与linux主机相比,我遇到了一个非常糟糕的performance。 事实certificate,问题是由基于osxfs的挂载卷导致的,这是一个共享的文件系统解决scheme,是Docker for Mac独有的。 这个问题很好的解释在这里: https : //blog.docker.com/2017/05/user-guided-caching-in-docker-for-mac/ 引入已安装卷的caching模式后,性能大大提高。 但是,在容器中出现主机更新之前,它允许一些延迟。 文档没有具体说明这个延迟。 你知道主机上的代码和容器内部的代码之间的同步有多快? volumes: – ./php_code:/var/www:cached

在Symfony的var目录中上传不可访问

我试图上传文件到“var”目录(成功)。 但是当我想从'var'中取这个文件时,我只能看到No route found for "GET /var/uploads/images/…. 结构 : – app – bin – src – var – cache – logs – uploads – images – vendor – web 为了保存我的文件,我正在使用: '%kernel.project_dir%/var/uploads/images' 为了取得文件: '/var/uploads/images/' . $fileName; '/var/uploads/images/' . $fileName; 我哪里错了? PS此外,我尝试在我的docker构成文件中使用音量(我使用docker)像这样: – ./data/cabinet/uploads/images:/data/www/cabinet/var/uploads/images不幸的是,没有一个文件没有复制到这个目录。 怎么了? 谢谢!

Symfony2应用程序在MacOS和Boot2Docker上响应速度慢

我有一个稍大的Symfony应用程序,通过添加Dockerfile中的所有文件在Docker上运行,并运行容器内的所有内容。 我这样做只是为了testing的目的,但现在我想切换到Docker的开发环境,并试图使用-v参数来安装我的本地目录到容器使用像这样的命令: docker run -v / Users / username / pathtofiles:/ pathtofilesincontainer -i -p 80:80 -t tag sh /pathtofilesincontainer/init.sh 这将/ Users / username / pathtofiles文件夹挂载到/ pathtofilesincontainer,并成功运行init.sh。 init.sh是一个基本的shell脚本,不会对性能或任何事情有任何影响。 我的〜/ .profile文件设置正确,/ etc / hosts文件有一个指向current.local的指向DOCKER_HOST的IP。 当我通过Dockerfile中的ADD命令将所有文件复制到容器中运行应用程序时,它运行完美〜0.5到1秒的响应时间。 当我使用上述命令装载相同的文件时,速度非常慢。 页面呈现在25-35秒左右。 我search了其他的主题,但没有一个真正帮助我。 我试图禁用xdebug,设置php_ini的realcache设置为build议值,运行应用程序/控制台cahce:清除命令,试图连接到本地的MySQL服务器等…没有任何工作。 任何人有任何其他的想法,或者有什么build议? 提前致谢! 我的堆栈是:Symfony2,MySQL,Apache2,Docker 1.3.0,boot2docker 1.3.0,VirtualBox

在symfony中更新数据库模式时发生exception

对于Symfony和Doctrine来说,我是一个新手,因此在不久的将来我将需要在商业上开展一些代码的工作。 长话短说,我现在正在修改现有实体以添加新参数。 我已经更新了ORM注释来表示这个,据我所知,如果我运行以下: php app/console doctrine:migrations:diff 这应该会自动更新数据库表以添加一个新的列来容纳我的新属性。 但是,当我运行它时,我得到以下错误: [Doctrine\DBAL\Exception\ConnectionException] An exception occured in driver: SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: nodename nor servname provided, or not known 它可能值得注意的是,当您通过浏览器中的表单与它进行交互时,项目已经成功与数据库通信,所以我很困惑为什么会出现这个错误? 我也在Docker容器上运行数据库,我认为这可能是造成这个错误的原因。 有任何想法吗?

为什么PHPUnit中的Symfony URL生成器指向localhost?

我在PHP 5.6中使用Symfony 3,我已经用PHPUnit设置了一个unit testing,它向控制器发出一个请求: $this->client->request('GET', '/api'); URL /api的控制器同时向本地Web服务器发出多个Curl请求。 像这样的东西: do_http_requests([ $this->get('router')->generate( 'route', $params, UrlGeneratorInterface::ABSOLUTE ), … ]); 这是因为生成的URL指向localhost ( http://localhost/… )而不是web ( http://web/… ),这是我为本地web服务器设置的主机名。 我得到一个错误说, Connection refused ,因为没有监听主机localhost 。 服务器在主机web上运行。 我还设置了一个环境variables: SYMFONY__ROUTER__REQUEST_CONTEXT__HOST=web 我希望router服务能够获取该环境variables,并据此生成URL,如本指南中所述 。 但事实并非如此。 我误解或错过了什么? 我将不胜感激任何帮助,您可以提供。 谢谢 !