本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

php-fpm Docker 镜像下载 - 轩辕镜像

php-fpm 镜像详细信息和使用指南

php-fpm 镜像标签列表和版本信息

php-fpm 镜像拉取命令和加速下载

php-fpm 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

php-fpm
crunchgeek/php-fpm

php-fpm 镜像详细信息

php-fpm 镜像标签列表

php-fpm 镜像使用说明

php-fpm 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

功能全面的PHP-FPM后端,支持NewRelic和SendGrid
28 收藏0 次下载activecrunchgeek镜像

php-fpm 镜像详细说明

php-fpm 使用指南

php-fpm 配置说明

php-fpm 官方文档

PHP-FPM Docker镜像

项目目标

开箱即用、多版本、功能全面的PHP-FPM Docker镜像,支持所有PHP项目(如WordPress和Laravel)。镜像并非轻量级,旨在开箱即支持尽可能多的功能,并可通过环境设置轻松开启/关闭。

支持的版本及Dockerfile链接

  • 7.4 Dockerfile
  • 7.3 Dockerfile
  • 7.2 Dockerfile
  • 7.1 Dockerfile
  • 5.6 Dockerfile

什么是PHP-FPM?

PHP-FPM(FastCGI Process Manager)是PHP的替代FastCGI实现。

环境变量

使用以下环境变量在容器启动时配置PHP进程管理器:

系统用户

bash
PHP_UID=1000
PHP_GID=1000
PHP_HOME=/app
PHP_USER=php-fpm

将创建名为php-fpm的系统用户,UID:GID为1000:1000,主目录为/app,可在php-fpm池配置文件中引用。

php.ini配置

bash
PHP_INI_PATH=/path/to/php.ini

在php-fpm启动时包含指定的php.ini配置。支持通配符,可包含多个.ini配置文件。

php-fpm池配置

bash
PHP_POOL_PATH=/path/to/pool.conf

在php-fpm启动时包含指定的pool.conf配置。支持通配符,可包含多个.conf配置文件。
注意:默认会加载[***]池配置,除非指定自定义的[***]路径。

启动脚本

bash
PHP_BOOT_SCRIPTS=/path/to/*.sh

在容器启动时、php-fpm启动前运行指定路径下的脚本(单个或多个)。适用于需要创建多个系统用户(如共享主机环境)的场景,可通过脚本预先创建用户。

定时任务

bash
PHP_CRONTABS_PATH=/path/to/cronttab_scripts

安装指定路径下的定时任务配置并启动crontab守护进程。

Laravel定时任务示例

bash
#
# Laravel任务调度器
#
# 注意:
# crontab的sh shell需要:
# - php cli解释器的完整路径
# - 切换到laravel artisan所在目录
# - 文件末尾需留空行以保证cron文件有效

* * * * * php-cli   cd /app && /usr/local/bin/php artisan schedule:run

NewRelic APM

bash
NEWRELIC_LICENSE=license_string

启用NewRelic扩展以监控PHP应用性能。

SendGrid

从7.3版本开始,SendGrid不再支持用户名/密码认证,改用API密钥。

已弃用:

bash
SMTP_LOGIN=sendgrid_login
SMTP_PASSWORD=sendgrid_password

推荐使用API密钥:

bash
SENDGRID_API_KEY=api_key_string

通过SendGrid配置默认邮件路由。适用于Google Cloud等默认阻止25端口SMTP的环境。

bash
TEST_EMAIL=***

设置后,容器启动时会通过PHP mail函数向指定地址发送测试邮件。

会话处理器

支持Redis或Memcached作为PHP会话处理器。

bash
PHP_SESSION_HANDLER=php_session_handler
PHP_SESSION_PATH=php_session_path

修改默认PHP会话处理器,适用于集群环境中实现会话共享。

Redis会话示例

bash
PHP_SESSION_HANDLER=redis
PHP_SESSION_PATH=tcp://redis.host:6379

将php.ini全局会话处理器设置为Redis,连接redis.host:6379

Memcached会话示例

bash
PHP_SESSION_HANDLER=memcached
PHP_SESSION_PATH=memcached.host:***

将php.ini全局会话处理器设置为Memcached,连接memcached.host:***

Supervisord

bash
SUPERVISORD_PATH=/path/to/supervisord.conf

自定义Supervisord配置以控制和监控容器内多个进程。示例配置可确保容器启动后不退出并将日志重定向到stdout:

bash
    command: [ "tail", '-f', '/var/log/supervisor/supervisord.log' ]
    healthcheck:
      test: /healthcheck
      retries: 3
      timeout: 5s
      interval: 5s

已安装扩展

  • apc
  • apcu
  • bcmath
  • bz2
  • calendar
  • Core
  • ctype
  • curl
  • date
  • dba
  • dom
  • ds
  • enchant
  • exif
  • fileinfo
  • filter
  • ftp
  • gd
  • gettext
  • gmp
  • hash
  • iconv
  • igbinary
  • imagick
  • imap
  • interbase
  • intl
  • json
  • ldap
  • libxml
  • mbstring
  • memcache
  • memcached
  • mongodb
  • msgpack
  • mysqli
  • mysqlnd
  • newrelic
  • openssl
  • pcntl
  • pcre
  • PDO
  • pdo_dblib
  • pdo_mysql
  • pdo_pgsql
  • pdo_sqlite
  • pdo_sqlsrv
  • pgsql
  • Phar
  • posix
  • pspell
  • readline
  • recode
  • redis
  • Reflection
  • session
  • shmop
  • SimpleXML
  • soap
  • sockets
  • sodium
  • SPL
  • sqlite3
  • ssh2
  • standard
  • sysvmsg
  • sysvsem
  • sysvshm
  • test
  • tidy
  • tokenizer
  • wddx
  • xdebug
  • xml
  • xmlreader
  • xmlrpc
  • xmlwriter
  • xsl
  • Zend OPcache
  • zip
  • zlib

已安装Zend模块

  • Xdebug
  • Zend OPcache

拉取最新镜像

sh
docker pull crunchgeek/php-fpm:7.2

运行PHP应用

运行镜像

运行PHP-FPM镜像并挂载主机目录:

sh
docker run -it --name php-fpm -v /path/to/your/app:/app crunchgeek/php-fpm:7.2 php script.php

或使用Docker Compose:

yaml
version: '3'
services:
  php-fpm:
    container_name: php-fpm
    image: crunchgeek/php-fpm:7.3
    entrypoint: php index.php
    volumes:
      - /path/to/your/app:/app

作为服务器运行

sh
docker run --rm --name php-fpm -v /path/to/your/app:/app -p 8000:8000 crunchgeek/php-fpm:7.2 php -S 0.0.0.0:8000 /app/index.php

日志查看

sh
docker logs php-fpm

列出已安装扩展

sh
docker run --rm -it crunchgeek/php-fpm:7.2 php -m

发布说明

PHP-FPM 7.4

从7.3升级到7.4时无法构建的扩展:

  • mhash(已集成到hash扩展,无法单独禁用)
  • interbase(已迁移到PECL)
  • recode(已从核心移除)
  • wddx(已弃用并从核心移除)
  • gd配置变更:docker-php-ext-configure gd --with-png仅支持PNG(详情参见docker-library/php#912)

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

"Docker加速体验非常流畅,大镜像也能快速完成下载。"