Tag: PHP

“assets:install”命令失败,错误“目标目录”web“不存在”,为什么?

我在Docker容器中运行Symfony3应用程序。 我用所有的资源(js,css,images)创build了一个CommonBundle 。 这个资源被链接到另一个path,如下所示: $ docker exec -u www-data -it dockeramp_php_1 ls -la oneview_symfony/src/CommonBundle/Resources/public total 8 drwxrwsr-x 2 www-data www-data 4096 Feb 23 21:09 . drwxr-sr-x 5 www-data www-data 4096 Feb 23 20:54 .. lrwxrwxrwx 1 root www-data 32 Feb 23 21:09 css -> /var/www/html/public_html/styles lrwxrwxrwx 1 root www-data 32 Feb 23 21:09 images -> […]

Selenium WebDriver为Click操作抛出一个错误,但Click实际上是成功的

使用Selenium和Google Chrome进行合成浏览器testing时,我们会在特定网站上间歇性地收到Selenium错误(请参阅下文)。 stream程是: 加载起始页面 input一个search词 截图 点击searchbutton 截取结果的截图 错误发生在点击操作(步骤4),但最终的屏幕截图(步骤5)与此相矛盾,并显示search已启动(只能通过点击 – 某种forms的自动search没有在网站上实现)和返回结果。 错误: Curl error thrown for http POST to /session/a4ec9662-1841-4809-9680-caf532b243b7/element/2/click Operation timed out after 30001 milliseconds with 0 bytes received 堆栈: selenium/铬docker集装箱: selenium/standalone-chrome:3.0.1-germanium Facebook的PHP WebDriver: 请参阅GitHub Docker PHP: 参见GitHub 我已经find了另外一个关于这个的post,build议将这个环境variables设置为DBUS_SESSION_BUS_ADDRESS=/dev/null容器: DBUS_SESSION_BUS_ADDRESS=/dev/null ,但是这不起作用。 我们如何从代码pipe理容器: $Docker = new Docker(); $Manager = $Docker->getContainerManager(); $Container = $Manager->find($container_name); if ($Container) […]

docker与PHP内置服务器

我试图通过docker运行的PHP内置服务器( php -S localhost:8080 ),我不能从主机访问网站,但我总是最终与连接重置。 以下是我构build的一个简单的Dockerfile: FROM centos:centos6 RUN rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm RUN rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm RUN rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm RUN yum –enablerepo=remi,remi-php55 install -y php php-opcache php-cli php-pear php-common && yum clean all RUN php -r "readfile('https://getcomposer.org/installer');" | php RUN echo "date.timezone = Europe/Prague" >> /etc/php.ini RUN mv composer.phar /usr/bin/composer RUN php -r "eval('?>'.file_get_contents('http://backend.bolt80.com/piecrust/install'));" […]

Docker和XDebug不读断点VSCode

我一直在MAC上使用XDEbug和PHP Version 7.0。*在过去的6个月内使用远程debugging到Docker容器。 我正在运行一个较旧版本的Docker,它使用VirtualBox作为Docker的虚拟机,所有工作都很好。 我最近更新了docker到版本17.03.1并没有什么,但与xDebug的问题。 我已经联系vscode-php-debug的创build者通过他的存储库上的一个问题,然后他指出我把这个问题与xdebug和/或docker工人。 我的问题是以下几点: XDebug正在运行并在我的容器上工作,xdebug日志显示它连接到我的IDE,但它只是closures连接,就好像在VSCode中设置断点时没有断点一样。 我发布在vscode-php-debug上的问题可以在这里find 其中有我的xDebug日志和VSCodedebugging日志的副本…它显示连接已build立,但没有断点。 我已经阅读了几个博客泊坞窗现在需要一个环回ip创build连接到xdebug工作,我也试过了,失败了。 我发现使用一个这么久之后,如果没有一个debugging器,debugging起来是非常困难的。 我已经尝试了许多configuration,重新安装,重新启动,重build图像/容器,甚至尝试freenode的docker和xdebug irc频道没有任何成功。

Symfony2的Docker容器中的权限问题

我打算创build一个Docker镜像来引导Symfony项目。 这是我的Dockerfile: FROM php:7-apache LABEL Description = "This image is used to start Symfony3 project" ENV DIRPATH /var/www/html # apt-get command RUN apt-get update && apt-get install -y \ vim \ git RUN apt-get install -y zlib1g-dev && docker-php-ext-install zip # Install Composer RUN curl -sS https://getcomposer.org/installer | php RUN mv composer.phar /usr/local/bin/composer # Install […]

我怎样才能提供权限的PHP泊坞窗图像和主机VOLUME?

我正在使用官方的PHP泊坞窗图像,我试图添加一个主机path作为卷。 我的意图是为了本地发展。 我的Dockerfile是非常基本的: FROM php:5.6-apache VOLUME ["/var/www/html/"] 然后在我的docker run命令我只是添加-v标志: $ docker run -d -v ~/Workspace/website/:/var/www/html/ … 不过,开始后我得到了一个403。 如果我执行一个bash条目,我可以看到/ var / www / html被拒绝。 我认为这与客人的“外星人”用户/小组有关。 日志: [13月26日星期二:29.18.182727 2016] [core:error] [pid 10](13)权限被拒绝:[client 192.168.5.1:37996] AH00035:访问/index.php denied(filesystem path'/ var / www / html / index.php'),因为path192.168.5.1 – [26 / Jan / 2016:00:29:38 +0000]的组件上缺lesssearch权限“GET /index.php HTTP / 1.1” Mozilla / 5.0(X11; […]

PHP-docker容器中的环境variables

我想在我的泊坞窗容器中显示一个env var。 PHP脚本如下所示: <html> <head> <title>Show Use of environment variables</title> </head> <body> <?php print "env is: ".$_ENV["USER"]."\n"; ?> </body> </html> 我使用OpenShift来启动容器。 PHP – 容器显示: env is: 现在我更改我的容器的dcconfiguration: oc env dc/envar USER=Pieter deploymentconfig "envar" updated 当我访问容器。 USER的env var是Pieter docker exec -it 44a0f446ae36 bash bash-4.2$ echo $USER Pieter 但我的脚本仍然显示:“ env is: ”它不填写variables。

Docker MYSQL'连接被拒绝'

我第一次尝试了Docker。 得到了一个LEMP堆栈并运行,但是我无法连接到MYSQL数据库。 不在我的Symfony应用程序上,不在PHPMyAdmin上。 应用程序正在返回以下错误代码: 驱动程序发生exception:SQLSTATE [HY000] [2002]连接被拒绝 这是我的docker-compose.yml: nginx: image: tutum/nginx ports: – "80:80" links: – phpfpm volumes: – ./nginx/default:/etc/nginx/sites-available/default – ./nginx/default:/etc/nginx/sites-enabled/default – ./logs/nginx-error.log:/var/log/nginx/error.log – ./logs/nginx-access.log:/var/log/nginx/access.log phpfpm: build: phpfpm/ ports: – "9000:9000" volumes: – ./public:/usr/share/nginx/html mysql: image: mariadb ports: – 3306:3306 environment: MYSQL_ROOT_PASSWORD: admin phpmyadmin: image: phpmyadmin/phpmyadmin restart: always links: – mysql ports: – 8183:80 […]

GitLab-CI多亚军PHPcomposer phpcaching

我正在使用gitlab-ci-multi-runner和docker容器。 一切都很好,但docker集装箱不保留composercaching,所以每次运行composer一次又一次地下载依赖,这需要很多时间。 有没有什么办法可以configurationgitlab-ci-runner容器来保持composercaching,或者在保存composercaching的每次运行中都装载一个卷?

Symfonylogging到Docker容器内的stdout

我正在为Symfony应用程序构build一个docker镜像。 在这个图像中,我想将Symfony日志stream式传输到标准输出。 所以,类似于如何configurationnginx日志,我将这一行添加到我的Dockerfile中: ln -sf /dev/stdout /var/www/project/app/logs/prod.log 在容器内部,我可以看到: $ ls /var/www/project/app/logs/ -l total 12 -rw-r–r– 1 501 games 4473 Jul 21 08:36 dev.log lrwxrwxrwx 1 501 games 11 Jul 21 08:35 prod.log -> /dev/stdout 但是,该应用程序抛出以下错误: PHP致命错误:未收到的exception“UnexpectedValueException”与消息“的stream或文件”/var/www/project/app/logs/prod.log“无法打开:无法打开stream:没有这样的文件或目录'在/无功/networking/项目/应用/caching/生产/ classes.php:5808 堆栈跟踪: #0 /var/www/project/app/cache/prod/classes.php(5746):Monolog \ Handler \ StreamHandler-> write(Array) #1 /var/www/project/app/cache/prod/classes.php(5917):Monolog \ Handler \ AbstractProcessingHandler-> handle(Array) #2 /var/www/project/app/cache/prod/classes.php(6207):Monolog \ […]