这是拉php镜像
docker pull php:8.2-fpm
这是部署php
docker run --name php-fpm -p 4001:9000 -v /root/nginx/www:/www -d php:8.2-fpm
拉取nginx镜像
docker pull nginx
在/root/nginx/conf创建nginx.conf文件
把下面复制进去或者自己下文件放进去
events {
worker_connections 1024;
}
http {
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html index.htm index.php;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
fastcgi_pass php:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /www/$fastcgi_script_name;
include fastcgi_params;
}
}
}
- 来我说明下问题
- php:9000绝对不可以改,因为它是容器内的端口
部署
docker run --name php-nginx -p 4002:80 -d \
-v /root/nginx/www:/usr/share/nginx/html \
-v /root/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
--link php-fpm:php \
nginx
然后手动在/root/nginx/www下创建index.php
index.php里面要放
<?php
echo phpinfo();
?>
用我的文件也行
然后浏览器打开本地ip+:4002/index.php应该没问题了
我的是http://192.168.101.100:4002/index.php
有问题的话ssh里面一句一句加
docker exec -it php-nginx chmod -R 777 /usr/share/nginx/html
docker exec -it php-nginx chmod -R 777 /etc/nginx/nginx.conf
docker exec -it php-fpm chmod -R 777 /www
PHP 扩展 DOM安装
ssh进去
docker exec -it php-fpm sh
开装
docker-php-ext-install dom
然后重启容器
验证装没装
docker exec -it php-fpm sh
php -m | grep dom
输出 dom
就OK了
在 WordPress 中验证 DOM 扩展
创建测试文件
在 WordPress 根目录中创建一个测试文件(如 dom_test.php
),内容如下
<?php
if (class_exists('DOMDocument')) {
echo 'DOM extension is enabled!';
} else {
echo 'DOM extension is NOT enabled!';
}
?>
访问测试文件
在浏览器中访问 http://自己的域名或者ip/dom_test.php
,如果显示 DOM extension is enabled!
,则表示扩展已成功加载。
Comments NOTHING