- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试为一个PHP应用程序设置开发环境,但是我无法解决这两个问题:
version: "3.1"
services:
# MySQL
database:
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_USER: testuser
MYSQL_PASSWORD: testpass
MYSQL_DATABASE: testdb
image: mariadb
restart: always
volumes:
- "./docker/mariadb/data:/var/lib/mysql"
- "./docker/mariadb/init:/docker-entrypoint-initdb.d"
# PHP
php-fpm:
build:
context: ./docker/php-fpm
environment:
ENV_MODE: development
ENV_BRANCH: test
volumes:
- "./:/var/www/app"
# NGINX
webserver:
build:
context: ./docker/nginx
depends_on:
- php-fpm
environment:
MYSQL_DATABASE: testdb
MYSQL_USER: testuser
MYSQL_PASSWORD: testpass
MYSQL_ROOT_PASSWORD: root
links:
- database:mysql
- mailhog
ports:
- "80:80"
- "443:443"
volumes:
- "./:/var/www/inpage"
- "./docker/nginx/nginx.conf:/etc/nginx/nginx.conf"
- "./docker/nginx/inpage.inc.conf:/etc/nginx/inpage.inc.conf"
- "./docker/nginx/inpage-site.inc.conf:/etc/nginx/app-site.inc.conf"
- "./docker/nginx/sites/:/etc/nginx/sites-available"
- "./docker/nginx/conf.d/:/etc/nginx/conf.d"
# Adminer
adminer:
depends_on:
- database
environment:
ADMINER_DEFAULT_SERVER: database
image: adminer
ports:
- 8181:8080
restart: always
# MailHog
mailhog:
image: mailhog/mailhog
command: -smtp-bind-addr 127.0.0.1:1025
user: root
expose:
- 1025
- 8025
ports:
- 1025:1025
- 8025:8025
# Customized Dockerfile from https://github.com/kporras07/docker-php.
FROM php:7.0-fpm-alpine
# Environment settings
ENV XDEBUG_VERSION 2.3.3
ENV PHP_MEMORY_LIMIT 256M
ENV PHP_MAX_EXECUTION_TIME 120
ENV PHP_POST_MAX_SIZE 100M
ENV PHP_UPLOAD_MAX_FILESIZE 100M
ENV PHP_INI_DIR /usr/local/etc/php
# Configure, build & install PHP
RUN docker-php-source extract \
&& apk --no-cache --update add \
libxml2-dev \
libpng \
libpng-dev \
libjpeg-turbo \
libjpeg-turbo-dev \
freetype-dev \
freetype \
libcurl \
curl-dev \
curl \
icu-dev \
g++ \
autoconf \
make \
libmcrypt-dev \
libmcrypt \
libintl \
openssl-dev \
re2c \
recode-dev \
sqlite-dev \
enchant-dev \
krb5-dev \
pcre-dev \
imagemagick-dev \
imagemagick \
libtool \
bzip2-dev \
freetds-dev \
freetype-dev \
gmp-dev \
imap-dev \
readline-dev \
recode-dev \
zip \
libzip \
libzip-dev \
libxslt \
libxslt-dev \
&& rm -rf /tmp/* \
&& rm -rf /var/cache/apk/* \
&& docker-php-ext-configure bcmath \
&& docker-php-ext-configure bz2 \
&& docker-php-ext-configure json \
&& docker-php-ext-configure session \
&& docker-php-ext-configure ctype \
&& docker-php-ext-configure curl \
&& docker-php-ext-configure tokenizer \
&& docker-php-ext-configure simplexml \
&& docker-php-ext-configure dom \
&& docker-php-ext-configure mbstring \
&& docker-php-ext-configure zip \
&& docker-php-ext-configure iconv \
&& docker-php-ext-configure xml \
&& docker-php-ext-configure opcache \
&& docker-php-ext-configure pdo \
&& docker-php-ext-configure pdo_mysql \
&& docker-php-ext-configure pdo_sqlite \
&& docker-php-ext-configure gettext \
&& docker-php-ext-configure gmp \
&& docker-php-ext-configure intl --enable-intl \
&& docker-php-ext-configure mcrypt \
&& docker-php-ext-configure phar \
&& docker-php-ext-configure soap \
&& docker-php-ext-configure sockets \
&& docker-php-ext-configure xml \
&& docker-php-ext-configure xsl \
&& docker-php-ext-configure gd --with-gd --with-freetype-dir=/usr/include/ \
--with-jpeg-dir=/usr/include/ \
--with-png-dir=/usr/include/ \
&& NPROC=$(grep -c ^processor /proc/cpuinfo 2>/dev/null || 1) \
&& docker-php-ext-install -j${NPROC} gd \
&& docker-php-source delete
RUN docker-php-ext-install bcmath \
bz2 \
json \
session \
ctype \
curl \
tokenizer \
simplexml \
dom \
mbstring \
zip \
iconv \
xml \
opcache \
pdo \
pdo_mysql \
gettext \
gmp \
intl \
mcrypt \
phar \
soap \
sockets \
xml \
xsl
RUN apk update \
&& apk add ca-certificates wget \
&& update-ca-certificates
# Blackfire.io
RUN version=$(php -r "echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;") \
&& curl -A "Docker" -o /tmp/blackfire-probe.tar.gz -D - -L -s https://blackfire.io/api/v1/releases/probe/php/alpine/amd64/$version \
&& mkdir -p /tmp/blackfire \
&& tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp/blackfire \
&& mv /tmp/blackfire/blackfire-*.so $(php -r "echo ini_get('extension_dir');")/blackfire.so \
&& printf "extension=blackfire.so\nblackfire.agent_socket=tcp://blackfire:8707\n" > $PHP_INI_DIR/conf.d/blackfire.ini \
&& rm -rf /tmp/blackfire /tmp/blackfire-probe.tar.gz
# Xdebug
RUN pecl install xdebug
RUN docker-php-ext-enable xdebug
COPY ./xdebug.ini /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
## mhsendmail for MailHog (https://github.com/mailhog/mhsendmail)
RUN apk update && apk add \
go \
git
RUN mkdir /root/go
ENV GOPATH=/root/go
ENV PATH=$PATH:$GOPATH/bin
RUN go get github.com/mailhog/mhsendmail
RUN cp /root/go/bin/mhsendmail /usr/bin/mhsendmail
COPY ./php.ini /usr/local/etc/php/conf.d/docker-php.ini
# Fix iconv lib (https://github.com/docker-library/php/issues/240#issuecomment-305038173)
RUN apk add --no-cache --repository http://dl-3.alpinelinux.org/alpine/edge/testing gnu-libiconv
ENV LD_PRELOAD /usr/lib/preloadable_libiconv.so php
# Cleanup
RUN rm -rf /tmp/* \
&& rm -rf /var/cache/apk/* \
&& rm -rf tmp/*
CMD ["php-fpm"]
EXPOSE 9000
zend_extension=/usr/local/lib/php/extensions/no-debug-non-zts-20151012/xdebug.so
xdebug.coverage_enable=0
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
;xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
;xdebug.remote_connect_back=1
xdebug.remote_log=/tmp/xdebug.log
;xdebug.remote_autostart=true
memory_limit = ${PHP_MEMORY_LIMIT}
max_execution_time = ${PHP_MAX_EXECUTION_TIME}
post_max_size=${PHP_POST_MAX_SIZE}
upload_max_filesize=${PHP_UPLOAD_MAX_FILESIZE}
sendmail_path = /usr/bin/mhsendmail -S mailhog:1025 -t
最佳答案
我在mailhog github issues页面上找到了该问题的mailhog“连接被拒绝”部分的解决方案。您需要替换自己的sendmail_path
语句
像这样的docker / php-fpm / php.ini(不支持-S选项,引号的位置很重要):
sendmail_path = "/usr/bin/mhsendmail --smtp-addr=mailhog:1025"
command
,
user
或
expose
部分。
关于php - Alpine php-fpm配置出现问题(xdebug + netbeans,sendmail + mailhog),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53641108/
XDebug 无法打开远程调试文件 /var/log/xdebug/xdebug.log。 我尝试对文件 /var/log/xdebug/xdebug.log 授予 664 权限,但我现在所做的失败了
我正在尝试调试此代码: public function removeBlankLines() { $this->qp->find('br'); } // <-- break point
我正在尝试设置 Xdebug,因为我厌倦了使用 echoes 和 var_dumps。 我使用 Atom 作为我的 IDE 和 php-debug plugin . 我正在使用 laravel Hom
直到最近,我一直在用 PHP(通过 Notepad++)编写代码,并通过检查 IIS 中的日志进行调试(一定喜欢那个 Web 平台安装程序);从那时起,我决定更新到更高效的代码编写/测试环境,并在使用
当 XDebug 捕获错误时,是否可以在堆栈跟踪中显示文件的完整路径? 目前我刚刚得到这个: ../stack.php:47 但我宁愿看到这样的东西: C:\inetpub\wwwroot\mysit
xdebug ang php 的此消息的解决方法是什么? Xdebug: [Step Debug] Could not connect to debugging client. Tried: loca
PhpStorm 看不到 xdebug 但它已安装。在我的浏览器中 xdebug 工作正常。问题出在哪儿? 错误: Connection with 'xdebug' was not establish
昨天一切正常。今天我使用ctrl + F8添加断点并按ctrl + p,x d,不再有Xdebug Start Debugging(Launch Browser),只有Xdebug Start Deb
我有一个 OS-X 设置并使用 Netbeans IDE 进行 PHP 编程。我在以下路径中安装了 xdebug zend_extension="/Applications/MAMP/bin/php/
我无法让 XDebug 在 Windows 7 机器上与 PhpStorm 和 Vagrant 一起工作。我已经按照每个教程来让这个工作,但没有运气。 所以我试过的是: PhpStorm 始终监听调试
如果我通过设置xdebug.remote_enable=1来启用xdebug,apache服务器会变得非常慢;一旦我将设置更改为0,就正常了。 我在这里发现了同样的问题:XDebug really s
我已经搜索了很多关于 IntelliJ IDEA 12 和 xdebug.file_link_format 的信息。配置值。 我没有发现任何有用的东西...... 使用“idea”、“intellij
所以我试图让 sublime text 2 与 x-debug 一起运行我已经安装了 Kindari-SublimeXdebug 我有 wamp(我启用了 xdebug ) 这是 php.ini 配置
我对使用 Homebrew 不太熟悉,但我喜欢它。它是如此容易。我正在尝试安装 Xdebug。网络上的一些帖子说要这样做: brew install xdebug 但是这不起作用。我得到:错误,没有可
我用 High Sierra (10.13) 重新安装了我的 MacBook。它包含 Apache/2.4.27 和 PHP 7.1.7。 现在我想激活xdebug。请有人给我一些信息,该怎么做? 感
我不小心丢失了 /etc/php5/conf.d 文件夹中的 xdebug.ini 文件。当我尝试使用 apt-get 安装 xdebug 时,如何取回它,它给出如下注释。 Not replacing
我想在 Sublime Text 3 中更改 XDebug 插件的键绑定(bind)。如何更改 的键绑定(bind)运行 , 跳过 , 走进 , 走出 , ETC。? 最佳答案 这个答案更完整answ
当我写这条消息时浏览提示似乎这是一个棘手的问题,有各种补丁,但没有明确的答案......无论如何,我试试我的机会,就在这里。 我在 Ubuntu 10.04 上使用 Eclipse Helios PD
当我调试时,我想排除某些目录 - 例如,每次实例化一个类时,我的调试器都会进入 Doctrine 的 ClassLoader::loadClass() 这很烦人......我尝试添加那些我想排除的目录
我刚刚在OSX上安装了Xdebug v3.0.0beta1,并试图在PhpStorm 2020.1上使用它,但是我得到了: Xdebug: [Config] The setting 'xdebug.r
我是一名优秀的程序员,十分优秀!