docker-compose with wordpress:php8.2-fpm-alpine returning ER



我正在尝试安装WordPress与PHP 8.2的本地安装,以测试这个PHP版本的网站。

因此,我使用了wordpress开发人员网站上的docker-compose.yml文件,并用wordpress:php8.2-fpm-alpine代替了wordpress:latest图像。

一旦我用docker-compose启动撰写文件并尝试打开localhost:8080,我无法访问该站点-我得到响应"ERR_EMPTY_RESPONSE"。日志保持空

如果我尝试访问仅包含<?php phpinfo() ?>命令的info.php文件,我也会在浏览器中获得ERR_EMPTY_RESPONSE

但是,如果我将图像更改回wordpress:latest,我可以访问网站,一切都按预期工作。

这是我完整的docker-compose。yml文件:

version: "3.6"
services:
wordpress:
image: wordpress:php8.2-fpm-alpine
container_name: wordpress
volumes:
- ./wordpress:/var/www/html
environment:
- WORDPRESS_DB_NAME=wordpress
- WORDPRESS_TABLE_PREFIX=wp_
- WORDPRESS_DB_HOST=db
- WORDPRESS_DB_USER=root
- WORDPRESS_DB_PASSWORD=password
depends_on:
- db
- phpmyadmin
restart: always
ports:
- 8080:80

db:
image: mariadb:latest
container_name: db
volumes:
- db_data:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=password
- MYSQL_USER=root
- MYSQL_PASSWORD=password
- MYSQL_DATABASE=wordpress
restart: always

phpmyadmin:
depends_on:
- db
image: phpmyadmin/phpmyadmin:latest
container_name: phpmyadmin
restart: always
ports:
- 8180:80
environment:
PMA_HOST: db
MYSQL_ROOT_PASSWORD: password

volumes:
db_data:

在使用图像wordpress:php8.2-fpm-alpine时出现错误的原因是该图像没有与PHP-fpm....一起提供Web服务器因此没有实际的web服务器来将PHP转换为web结果。

$ docker exec -it wordpress bash
87d4819c5301:/var/www/html# netstat -tanp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.11:42163        0.0.0.0:*               LISTEN      -
tcp        0      0 :::9000                 :::*                    LISTEN      1/php-fpm.conf)
87d4819c5301:/var/www/html# 
87d4819c5301:/var/www/html# ps auxf
PID   USER     TIME  COMMAND
1 root      0:00 php-fpm: master process (/usr/local/etc/php-fpm.conf)
9 www-data  0:00 php-fpm: pool www
10 www-data  0:00 php-fpm: pool www
11 root      0:00 bash
18 root      0:00 ps auxf

反过来,当您使用image:wordpress:latest时,apache与php-fpm一起运行,然后向http://localhost:8080/上的web浏览器公开一个可以依赖信息的web服务器,并显示网页。

root@6215e955f5f4:/var/www/html# ps aufx
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          24  0.1  0.0   4164  3244 pts/0    Ss   18:27   0:00 bash
root          33  0.0  0.0   6760  2752 pts/0    R+   18:28   0:00  _ ps aufx
root           1  0.1  0.2 233340 35484 ?        Ss   18:27   0:00 apache2 -DFOREGROUND
www-data      19  0.0  0.0 233412  9164 ?        S    18:27   0:00 apache2 -DFOREGROUND
www-data      20  0.0  0.0 233412  9164 ?        S    18:27   0:00 apache2 -DFOREGROUND
www-data      21  0.0  0.0 233412  9164 ?        S    18:27   0:00 apache2 -DFOREGROUND
www-data      22  0.0  0.0 233412  9164 ?        S    18:27   0:00 apache2 -DFOREGROUND
www-data      23  0.0  0.0 233412  9164 ?        S    18:27   0:00 apache2 -DFOREGROUND

如果你想使用相同的系统:latest只是不同的php版本,我建议使用wordpress:php8.2-apache,而不是fpm-alpine作为基础。

最新更新