Tag: PHP

将Docker与Xdebug和Sublime Text集成到PHP环境中

我正在为我的团队build立一个Docker开发环境。 在这个环境中,我们希望将Xdebug与Docker集成以允许进行debugging。 看来最简单的方法是将Sublime Text连接到Docker实例,然后在Sublime Text上安装Xdebug ontop。 我发现了以下指南,将Sublime Text与Docker( http://domeide.github.io/ )集成在一起,本指南将Xdebug与Sublime Text( https://www.sitepoint.com/debugging-xdebug-sublime-text -3 / )。 我想知道的是,如果任何人有任何build立类似环境的经验? 有没有更简单的方法来做到这一点? 这似乎是正确的方式来debuggingDocker中的PHP代码?

Ubuntu 14.04:升级到php7并卸载php5?

我将基于Ubuntu 14.04的Docker镜像升级到7.0。 我阅读了一些文章,给出了安装php7.0时卸载php5的命令。 这真的有必要吗? 优缺点都有什么?

Docker – 为PHP + Nginx安装PDO驱动程序

我有一个Dockerfile: FROM php:7-fpm RUN apt-get update \ && apt-get install -y –no-install-recommends libpq-dev \ && docker-php-ext-install mysqli pdo_pgsql pdo_mysql 然后我在我的docker-compose.yml文件中: web: image: nginx:latest ports: – "80:80" volumes: – ./frontend:/var/www/html – ./api:/var/www/html/api – ./nginx/default.conf:/etc/nginx/conf.d/default.conf links: – php mysql: image: mariadb ports: – "3306:3306" environment: – MYSQL_ROOT_PASSWORD=password – MYSQL_DATABASE=example volumes: – ./database:/var/lib/mysql php: image: php:7-fpm volumes: – […]

在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: # […]

使用Docker在PhpStorm上configurationCodeSniffer

我正在开发一个使用PhpStorm的项目,我正在使用Docker的PHP 7.1。 我想将PHP代码嗅探器集成到PhpStorm中。 在PhpStorm我去设置|语言和框架| PHP | CodeSniffer和我尝试添加一个新的configuration,我提供作为PHP代码嗅探器(phpcs)path的脚本与以下内容的path: #!/usr/bin/env bash docker run –rm -ti –volume "$(pwd):/app:rw" -u $(id -u):$(id -g) prooph/php:7.1-cli php vendor/bin/phpcs "$@" 它只是在我的docker集装箱运行phpcs 。 当我点击validation ,PhpStorm给我以下消息: The input device is not a TTY 当它从PhpStorm控制台运行时,相同的脚本完美地工作。 难道我做错了什么? 或者我想要做的只是不被支持?

Docker没有findphp的mysql扩展

我使用docker-compose来创buildwordpress环境,对于PHP,我的docker文件只是: # https://github.com/alterway/docker-php FROM alterway/php:5.5-fpm WORKDIR "/var/www/httpdocs/web” 但由于某种原因,PHP的投诉,它无法findmysql_ *函数,这是奇怪的,因为alterway/php:5.5-fpm ( https://github.com/alterway/docker-php/blob/master/5.5-fpm/ Dockerfile#L30 )包含mysql扩展的安装指令。 如果我使我的Dockerfile: # https://github.com/alterway/docker-php FROM alterway/php:5.5-fpm # add this RUN docker-php-ext-install mysql WORKDIR "/var/www/httpdocs/web” 然后它的工作原理,但为什么我应该这样做,如果该指令已经存在于的alterway/php:5.5-fpm Dockerfile?

docker-compose down default_network error

我有一个docker工人 – 一些PHP,MySQL等开始。 几天之后,我不能把它们closures,因为一切都停止了,而不是mysql。 它总是给我以下错误: ERROR: network docker_default has active endpoints 这是我的docker-compose.yml version: '2' services: php: build: php-docker/. container_name: php ports: – "9000:9000" volumes: – /var/www/:/var/www/ links: – mysql:mysql restart: always nginx: build: nginx-docker/. container_name: nginx links: – php – mysql:mysql environment: WORDPRESS_DB_HOST: mysql:3306 ports: – "80:80" volumes: – /var/log/nginx:/var/log/nginx – /var/www/:/var/www/ – /var/logs/nginx:/var/logs/nginx – […]

Nginx + PHP-FPM 7.1 – 504网关超时

我正在运行一个nginx 1.12和一个php-fpm 7.1作为synology nas上的独立docker容器,如果php-script运行时间超过60s,我会得到一个504网关错误。 我已经尝试了几个nginxconfiguration参数,但错误仍然存​​在。 这是我的实际nginxconfiguration: #user www-data; #group http worker_processes 1; error_log /opt/data/logs/nginx_error.log notice; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; #keepalive_timeout 30s; sendfile on; #tcp_nopush off; tcp_nodelay on; #gzip off; send_timeout 300 server { listen 80; server_name ""; root /opt/php; index index.php; location /data/ { sendfile on; root /opt; […]

PhpStorm映射path

我使用SSH和FTP访问设置了一个docker容器。 我的本地项目如下所示: /Users/gezimhome/projects/ziprecipes.net/zip-recipes是我的项目目录。 我的WordPress插件的源代码位于src文件夹中。 我有wordpress下载和本地解压在/Users/gezimhome/projects/ziprecipes.net/workdir/wordpress 。 以下是我的部署设置: 我的映射: 我的服务器: 在Docker容器中,wordpress在这里被下载和解压: /usr/share/nginx/html/wordpress/和我将/Users/gezimhome/projects/ziprecipes.net/zip-recipes/src映射到/usr/share/nginx/html/wordpress/wp-content/plugins/zip-recipes创build容器时。 Xdebug安装正确,因为我Incoming Connection from Xdebug屏幕上得到这个Incoming Connection from Xdebug : 所以,问题是,因为我已经有了映射为什么它不停地打扰我做一个映射wordpress文件? 而更大的问题是,为什么我的插件中的断点没有被打到?! 请帮忙 :(

Docker MySQL:创build新用户

在mysql docker hub页面中有一个关于如何创build用户的参考: MYSQL_USER, MYSQL_PASSWORD 但是,如何在docker-compose.yml文件中指定这些参数呢? 到目前为止我有: mysql: image: mysql:5.7 ports: – "3306:3306" environment: MYSQL_ROOT_PASSWORD: R00t+ 另一个问题; 我怎样才能连接到外部容器的MySQL主机? 在容器内部,我可以连接使用: $user = 'root'; $pass = 'R00t+'; $server = 'mysql'; $dbh = new PDO( "mysql:host=$server", $user, $pass );