docker搭建laravel开发环境lnmp
之前学习laravel的时候跟着官方文档搭建了homestead 环境,无奈换了乞丐版本的mac之后,再想跑个虚拟机简直是妄想,放弃了phpstorm和homestead,现在用 vscode + docker,竟然异常丝滑!记录一下docker搭建的laravel开发环境,以及如何配置 vscode 调试php代码
LNMP搭建
Mysql
www.runoob.com/docker/docker-insta...
docker pull mysql:5.7 docker run -itd --name mysql57 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=your_password mysql:5.7
php
www.runoob.com/docker/docker-insta...
docker pull php:7.3-fpm docker run --name php73-fpm -v ~/Code/php:/www -d php:7.3-fpm
nginx
www.runoob.com/docker/docker-insta...
docker pull nginx:1.19 docker run --name nginx19 -p 8080:80 -d \ -v ~/Code/php:/usr/share/nginx/html:ro \ -v ~/Code/nginx/conf/conf.d:/etc/nginx/conf.d:ro \ --link php73-fpm:php \ nginx:1.19
nginx 配置文件
server { listen 80; server_name usercenter.dev.com; location / { #/usr/share/nginx/html/123u-usercenter/public 是nginx对应的docker里面的项目地址 root /usr/share/nginx/html/123u-usercenter/public; try_files $uri $uri/ /index.php?$query_string; 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; # /www/123u-usercenter/public 是php对应的docker里面的项目地址 fastcgi_param SCRIPT_FILENAME /www/123u-usercenter/public/$fastcgi_script_name; fastcgi_param APP_ENV dev; include fastcgi_params; fastcgi_split_path_info ^((?U).+\.php)(/?.+)$; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; } }
docker ubuntu 切换软件源
sed -i s@/deb.debian.org/@/mirrors.aliyun.com/@g /etc/apt/sources.list
apt clean
apt update
安装扩展
安装 composer
curl -sS https://getcomposer.org/installer | php --install-dir=/usr/bin --filename=composer
安装 gd 扩展
apt install -y sendmail libpng-dev docker-php-ext-install gd
安装 zip 扩展
apt install zlib1g-dev apt install libzip-dev docker-php-ext-install zip
安装 ldap 扩展
apt-get install libldap2-dev -y rm -rf /var/lib/apt/lists/* docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ docker-php-ext-install ldap
安装 pdo 扩展
docker-php-ext-install pdo pdo_mysql
配置 xdebug
docker 安装 xdebug
pecl install xdebug
echo "zend_extension=$(find /usr/local/lib/php/extensions/ -name xdebug.so)" > /usr/local/etc/php/conf.d/xdebug.ini
echo "xdebug.remote_enable=on" >> /usr/local/etc/php/conf.d/xdebug.ini
echo "xdebug.remote_autostart=off" >> /usr/local/etc/php/conf.d/xdebug.ini
vscode 配置文件
/www/123u-usercenter 是php对应的docker里面的项目地址
/Users/tt/Code/php/123u-usercenter 是本机对应的项目的地址
{
"version": "0.2.0",
"configurations": [
{
"name": "Listen for XDebug",
"type": "php",
"request": "launch",
"port": 9000,
"pathMappings": {
"/www/123u-usercenter": "/Users/tt/Code/php/123u-usercenter"
},
"xdebugSettings": {
"max_data": 65535,
"show_hidden": 1,
"max_children": 100,
"max_depth": 5
}
}
]
}
xdebug.ini
xdebug.remote_enable=1
xdebug.remote_host=docker.for.mac.localhost
xdebug.remote_connect_back=0
xdebug.remote_autostart=1
xdebug.remote_connect_back=0
xdebug.remote_handler=dbgp
xdebug.max_nesting_level=1500
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: