Tag: PHP

为什么可以连接mysql CLI,但不是WordPress?

我有一个Wordpress(php-fpm / nginx)服务器,完全新鲜。 在CentOS上运行。 我也有一个docker的容器,从香草mysql服务器的图像build成。 MySQLconfiguration 它运行在3306端口上,所有的MySQL用户都是在主机172.17.0.1 (例如root@172.17.0.1 )上注册的,这是docker的网关IP。 docker集装箱安装使用一个ansible剧本。 所有的configuration设置都是参数化的,并且这些参数在任何适当的地方都可以使用,包括WordPressconfiguration文件和在MySQL docker安装过程中填充root密码之类的东西的环境variables。 这里是我configuration相关数据库的地方: WordPressconfiguration: 这是两部分,其中我将包括相关的。 在我可靠的手册中,这段代码设置了WordPress表和用户(成功): – name: Create WordPress database mysql_db: name: '{{ wp_db_name }}' state: present login_user: root login_password: '{{ mysql_root_password }}' login_host: '{{ docker_mysql_ip }}' – name: Create WordPress database user mysql_user: name: '{{ wp_db_user }}' password: '{{ wp_db_password }}' priv: '{{ […]

docker php:7.1-fpm-alpine不能构buildGD

尝试从官方的php:7.1-fpm-alpine图像构build,在我的Dockerfile中使用以下摘录: FROM php:7.1-fpm-alpine RUN set -ex \ apk add –no-cache –virtual .build-deps \ freetype-dev \ libjpeg-turbo-dev \ libpng-dev \ \ && docker-php-ext-configure gd \ –with-freetype-dir=/usr \ –with-png-dir=/usr \ –with-jpeg-dir=/usr \ && docker-php-ext-install gd \ && apk del .build-deps 当试图用docker build构build这个时,GD在./configure期间失败,出现以下错误: configure: error: jpeglib.h not found 我可以确认jpeglib.h存在,并且正是我认为它应该在的地方 (事实上​​,确切地说它在Debian变体中的位置): $ docker run -it –rm php:7.1-fpm-alpine /bin/sh >$ […]

在PhpStorm中通过Docker容器使用xdebug

我已经阅读了一些关于这个post,但没有在我的情况帮助或简单地忽略了失踪的一块。 我不能让xdebug使用Docker容器在PhpStorm上工作。 泊坞窗,compose.yml version: '2' services: web: image: nginx:latest volumes: – .:/usr/share/nginx/html – ./nginx/nginx.conf:/etc/nginx/nginx.conf – ./nginx/logs:/var/logs/nginx – ./nginx/site-enabled/default.conf:/etc/nginx/sites-enabled/default.conf ports: – "80:80" depends_on: – php db: image: mysql:5.7 environment: MYSQL_ROOT_PASSWORD: 1234 MYSQL_DATABASE: local_db MYSQL_USER: root MYSQL_PASSWORD: 1234 ports: – "3306:3306" php: build: images/php volumes: – .:/usr/share/nginx/html – ./config/docker/php/php.ini:/usr/local/etc/php/php.ini – ./config/docker/php/ext-xdebug.ini:/usr/local/etc/php/conf.d/ext-xdebug.ini – ./config/docker/php/php-fpm.conf:/usr/local/etc/php-fpm.conf user: www-data depends_on: – […]

我应该在Docker构build中运行Composer安装

我可能有一个docker文件,看起来像这样: COPY . ./ RUN composer install –no-dev –no-interaction -o 但我有我的composer.json中的私人回购,这需要我复制在dockerbuild设正常工作的SSH密钥。 我感到不舒服,在我的PHP应用程序泊坞窗图像中包装我的ssh密钥。 或者,我可以在docker build(例如build.sh bash脚本)之外运行composer install,在vendor /被填充后复制目录。 这是一个正确的方法吗? 还有其他方法来处理这个问题吗?

推荐给Docker上的Artisan

我还没有find一种在基于Docker的本地开发环境中运行Laravel Artisan命令的优雅而有效的方法。 有人可以提出build议或“适当”的方式来做这样的事情吗? 或者,有没有人find一个干净利落的方式? 理想的例子或build议。 我考虑过的事情: 一个新的容器(共享相同的音量和数据库链接)与SSH,只是为了运行命令(似乎讨厌)。 主pipe中的黑客可能最终会在现场(不理想)运行。 编辑数据库configuration,或试图在“主机”环境中进行破解,至less可以从主机运行迁移等任何事情。 创buildWeb前端运行的东西(真的很讨厌)。 试图build立一个“信号”的东西。 我仍然对Docker感兴趣,这是一种全新的容器方法。 我想我想平衡酷开发的东西与为什么做我需要另一个假服务器只是得到它的工作已经。 我很愿意为我的开发工作stream做出承诺,但是在某些情况下使用它似乎变得很尴尬,比如这个… 任何build议和意见,欢迎。 谢谢大家。

使用Docker我得到的错误:“SQLSTATE 没有这样的文件或目录”

我正在使用Docker创build一个容器来testing我的Mac上构build于PHP和MySQL上的Web应用程序。 我的PHP应用程序是使用MVC和路由的无脂框架构build的。 我有两个Dockerfiles,一个用于MySQL,一个用于PHP。 我已经成功地使用了testing的Docker应用程序,所以我相信我的映像安装正确。 错误的主要部分: Internal Server Error SQLSTATE[HY000] [2002] No such file or directory [fatfree/lib/DB/SQL.php:466] PDO->__construct('mysql:host=127.0.0.1;port=3306;dbname=robohome','root','password',array(1002=>'SET NAMES utf8;')) [fatfree/app/Controllers/Controller.php:24] DB\SQL->__construct('mysql:host=127.0.0.1;port=3306;dbname=robohome','root','password') 请注意,如果我连接使用127.0.0.1而不是localhost我得到一个稍微不同的错误,说: SQLSTATE[HY000] [2002] Connection refused 我的PHP Dockerfile: FROM php:5.6-apache RUN docker-php-ext-install mysqli pdo pdo_mysql RUN a2enmod rewrite 我的MySQL Dockerfile: FROM mysql:5.7 ENV MYSQL_ROOT_PASSWORD password ENV MYSQL_DATABASE robohome COPY ./schema.sql /docker-entrypoint-initdb.d/ 我的Controller.php文件错误提到第24行: <?php namespace Controllers; […]

如何用PhpStorm来debuggingDocker容器

无法使用以下configurationdebuggingWeb应用程序: Dockerfile: FROM php:7-fpm RUN yes | pecl install xdebug \ && echo "zend_extension=$(find /usr/local/lib/php/extensions/ -name xdebug.so)" > /usr/local/etc/php/conf.d/xdebug.ini \ && echo "xdebug.remote_enable=on" >> /usr/local/etc/php/conf.d/xdebug.ini \ && echo "xdebug.remote_autostart=0" >> /usr/local/etc/php/conf.d/xdebug.ini \ && echo "xdebug.remote_host=site.dev" >> /usr/local/etc/php/conf.d/xdebug.ini \ && echo "xdebug.remote_log=/var/www/site/xdebug.log" >> /usr/local/etc/php/conf.d/xdebug.ini WORKDIR /var/www/site nginx服务器(site.conf): server { server_name site.dev www.site.dev; root /var/www/site/src/UI/Web/Silex/Public; … } […]

Docker-Compose将不会调整我的php.ini文件

我正在尝试使用docker-compose来调整我的php.ini文件,这样我就可以在本地机器上进行更改,以查看它是如何影响主机的。 不幸的是,我已经能够将php.ini文件放入容器的唯一方法是直接在Dockerfile中创build。 附件是容器运行良好的图像,使用下面的当前设置。 我的Dockerfile如下: FROM ubuntu:14.04 MAINTAINER Joe Astrahan <jastrahan@poolservice.software> VOLUME ["/var/www"] RUN apt-get update && \ apt-get install -y software-properties-common && \ apt-get update && \ apt-get install -y \ apache2 \ curl \ libcurl3 \ libcurl3-dev \ php5 \ php5-cli \ libapache2-mod-php5 \ php5-gd \ php5-json \ php5-ldap \ php5-mysqlnd \ php5-pgsql \ […]

PhpStorm 2017.1远程php-cli在docker:configurationphp.ini文件不存在

PhpStorm PHP CLI解释器 有两个错误信息: 找不到php.ini 找不到xdebug.so PHP容器 但在我的PHP容器 /usr/local/etc/php/php.ini存在 /usr/local/lib/php/extensions/no-debug-non-zts-20131226/xdebug.so是否存在 PHP的Dockerfile FROM php:5.6-fpm COPY ./sources.list /etc/apt/sources.list # Init EVN RUN apt-get update && apt-get upgrade && apt-get install -y \ vim \ git \ libgearman-dev \ libmemcached-dev \ libmcrypt-dev \ libfreetype6-dev \ libjpeg62-turbo-dev \ libpng12-dev \ libpng-dev \ libmagickwand-dev \ libmagickcore-dev # Install PHP extensions […]

Docker – 安装php-memcached扩展不工作?

我一直试图在我的php-5.6容器中安装memcached,但是我无法得到它的工作,因为我没有看到在phpinfo()中的memcached扩展,加上由于某种原因,它抱怨说,它无法find在代码中的memcache.so。 有我的docker文件为PHP构build FROM php:5.6-fpm RUN apt-get update && apt-get install -y \ libfreetype6-dev \ libjpeg62-turbo-dev \ libmcrypt-dev \ libpng12-dev \ && docker-php-ext-install -j$(nproc) iconv mcrypt \ && docker-php-ext-configure gd –with-freetype-dir=/usr/include/ –with-jpeg-dir=/usr/include/ \ && docker-php-ext-install -j$(nproc) gd RUN docker-php-ext-install mysqli mbstring pdo_mysql # Download and Installing php libraries RUN apt-get install -y memcached RUN apt-get -y […]