宿主机nginx与docker的PHP结合
日期:2022-12-04
1、本机正常安装nginx
2、安装docker
3、拉取php-fpm,如:
docker pull php:5.4-fpm
4、启动docker php
如php网站在宿主体的路径为:/home/wwwroot/abc.com
则启动docker php的命令可以为
docker run -d --name php54 -p 9001:9000 -v /home/wwwroot/abc.com:/var/www/html php:5.4-fpm
5、修改添加nginx中的配置
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9001;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name;
include fastcgi_params;
}
如果出现:
no input file specified
可以把防跨站攻击关闭一般即可解决
常见问题:
1、PHP添加mysql mysqli扩展
进入docker php内部
docker exec -it php54 /bin/bash
执行命令安装扩展
./docker-php-ext-install mysql ./docker-php-ext-install mysqli
重启docker即可
2、docker内部权限不足,进入docker php内部
docker exec -ti php54 /bin/bash #进入php容器
chown -R www-data:www-data /var/www/html #给定权限
/var/www/html/ #是你代码存放的目录