前言:最近学习laravel,在mac上想搭建环境,看了laravel学院的介绍,有几种环境可供选择,一种是homestead,一种是valet,还有就是laradock。因为之前有稍微那么一点点了解一下docker是什么,所有就想用docker来搭建环境。
- 安装docker
docker官网,打开官网,拉到页面最底部
我的电脑为mac,所以下载mac版本,会自动判断操作系统类型进行下载。
安装docker比较简单,下载完之后直接双击文件打开,拖动进行安装,和平时安装软件一样
安装之后在命令行中输入:docker --version 查看是否安装成功
可以自己配置一下docker的源,这里就不在进行赘述。 - 安装composer工具
php依赖包管理工具,mac使用homebrew进行安装
brew install composer - laradock搭建
在任意目录下(最好新建一个空目录,便于管理),执行以下命令:git clone https://github.com/Laradock/laradock.git
等待下载完成(因为是github,下载速度比较慢)
安装laravel安装程序
composer global require laravel/installer
创建软连接:
#在.zshrc中添加 alias laravel=/Users/hd/.composer/vendor/bin/laravel #执行source ~/.zshrc
创建一个在之前的目录中创建一个laravel项目
laravel new stonelalala
当前目录下的文件夹情况:
进入laradock文件夹,执行命令:
cp env-example .env
可以打开.env文件查看一下
在该文件中可以进行各种软件的版本配置、软件的设置等,每次修改之后都要对镜像进行重新编译。比如你修改了mysql的版本(默认下载最新的版本),修改之后,进行重新编译
docker-compose build mysql
站点配置:
进入laradock/nginx/sites,拷贝一份laravel.conf.example为stonelalala.conf
cp laravel.conf.example stonelalala.conf
然后打开stonelalala.conf进行配置
容器构建:
编译修改过的软件。
打开laravel项目的.env配置文件
修改
DB_HOST=mysql
REDIS_HOST=redis
修改完之后,运行你的容器docker-compose up -d nginx mysql workspace php-fpm
下载镜像过程比较缓慢,需要耐心等待!
运行完成之后,修改一下hosts文件
然后在浏览器中输入stonelalala.test,就可以看到熟悉的laravel画面 -
配置Xdebug
修改laradock的.env文件:
修改一下两个字段的值
WORKSPACE_INSTALL_XDEBUG=true PHP_FPM_INSTALL_XDEBUG=true
然后打开laradock/PHP-FPM/xdebug.ini以及laradock/workspace/xdebug.ini,修改或添加一下内容:
xdebug.remote_connect_back=1 xdebug.remote_port=9000 xdebug.idekey=PHPSTORM xdebug.remote_enable=1 xdebug.remote_host=docker.for.mac.localhost xdebug.remote_connect_back=0 xdebug.remote_log="/var/www/xdebug_logs/xdebug_docker.log" xdebug.remote_autostart=0 xdebug.remote_enable=0 xdebug.cli_color=0 xdebug.profiler_enable=0 xdebug.profiler_output_dir="~/xdebug/phpstorm/tmp/profiling" xdebug.remote_handler=dbgp xdebug.remote_mode=req xdebug.var_display_max_children=-1 xdebug.var_display_max_data=-1 xdebug.var_display_max_depth=-1
两个文件的配置是一样的。
修改完之后重新编译一下容器
docker-compose build workspace php-fpm
编译完成之后重启容器
#关闭所有容器 docker-compose down #启动需要的容器 docker-compose up -d nginx mysql redis
打开phpstorm,进入Preferences->Language & Frameworks->PHP->Servers,新建一个 server,这里取名 laradock
点击右上角,然后根据如下图片进行配置
最后,在需要打断点的地方打断点,测试是否开启成功: -
到此,laradock就算部署完成了,在PHPSTORM中的调试功能也开启成功了!第一次使用docker,还有很多不熟悉的地方,有错误或不足之处,望指出!谢谢~