全栈Web开发者程序员Laravel

Laradock Windows 初体验

2018-02-23  本文已影响365人  3275508ab630

笔者在 win10 下 初次使用 Laradock

感谢以下网站提供的帮助

Laravel 学院
初探laradock
一步步教你如何使用 laradock 搭建项目环境
DaoCloud
翻译了一下Laradock的中文文档
Laradock 官方文档

首先可以先去以上网站了解 dockerLaradock。本文会介绍根据以上链接学习遇到的一些问题。笔者只用到 Laradockphpnginxmysql 使用的是 phpStudy 的。

1. 安装 Docker

首先去官网 https://www.docker.com/community-edition#/download 下载 Docker 社区版并安装。

下载页面.png

注意点就是安装过程中会提示是否允许使用 Hyper-V,要允许。还提示需要重启。

2. 下载 Laradock

笔者推荐使用 SourceTree 这个工具,它是 git 辅助工具。首次使用会让你登录一个账号,网上有跳过登录的教程,自己百度一下。Laradock 最好是用 git 克隆下来,它经常更新代码,而且你自己改了其中代码也能有记录可撤回。下载的文件就放在 phpStudy 对应的 www 文件夹里就行。

3. 添加项目配置

假设你的 laravel 项目是在这里

目录
进到 laradock 中,复制 env-example,重命名成 .env 文件。再进到 nginx/sites 中修改 default.conf 文件。改第六行为 server_name xxxx(你的本地测试域名), 改第七行为 root /var/www/xxxx/public;

4. 创建容器

创建之前先要去 DaoCloud 注册个账号,http://www.daocloud.io/mirror#accelerator-doc 根据教程先配置加速器。

setting.png
配置完成后在 laradock 目录下运行
docker-compose up -d nginx

这里运行时间很长,可能会发生错误。不知道是不是出错了就一直等光标出现,这时候是运行结束了。然后执行

docker-compose ps

看看

运行状况.png
如果是和上面的一样,那么就是可以了。如果发生了错误,大概是需要 翻qiang 或者是端口被占用了。phpStudy 的服务先不要开,容易端口占用。失败了就继续执行 docker-compose up -d nginx 直到成功。

5. 连接 mysql

这时候访问测试域名网页就能打开了。但是会报错,mysql 连接不上。
打开 phpStudy > 服务管理器 > MySQL > 启动。再打开 phpStudy > MySQL工具 > MySQL命令行 输入 mysql 密码执行

grant all privileges on *.* to '%' identified by '你项目的数据库连接密码' with grant option;

就完成了。用 laradock 的时候 phpstudy 就开 mysql 就行。

接下来讲一下常遇到的问题

  1. 多个项目配置
    laradock/nginx/sites 目录下复制 laravel.conf.example 文件,重命名 随便.conf。修改其中的项目对应的内容,然后运行
docker-compose restart nginx

就可以了。注意点是,不管运行什么 docker-compose 的命令都要在 laradock 的目录下。还有不要复制 default.conf,笔者第一次就是复制 default.conf 文件开第二个项目就是不行,原因没深究。

  1. 修改 php 版本和添加 php 扩展
    修改 php 版本笔者不会,自行去上面的laradock 文档学习。
    添加扩展,举个例子,假设添加 ZIP_ARCHIVE 扩展。先去 laradock/.env 中找对应的扩展包修改 PHP_FPM_INSTALL_ZIP_ARCHIVE=false 改成 true。然后去 laradock/php-fpm/Dockerfile-71 中找对应的扩展包修改 ARG INSTALL_ZIP_ARCHIVE=false 改成 true。然后运行
docker-compose build php-fpm

如果命令安装失败则 翻qiang 后再重新执行,如果命令执行成功,再运行

docker-compose up php-fpm

就可以了。还是不行则 docker-compose restart applications

  1. 电脑重启后开启 laradock
    laradock 的目录下运行
docker-compose start applications

然后看看 docker-compose ps,看下面三个哪个没有 up,就哪个 docker-compose start xxx 开启一下。分别 startnginxphp-fpmworkspace

  1. nginx 或者 php 报错查看日志
    笔者不会,如果玩坏了 laradock,就重建一下容器。

使用感受

虽然 laradock 降低了用 dock 作为开发环境的门槛,但是还是不如 phpstudy,而且还占内存,学习成本依然很高。再其他举个例子,笔者在开发中用到 basename() 这个函数,它在 Linux 环境下是不能处理中文的,但是在前面先执行 setlocale(LC_ALL, 'zh_CN.GBK'); 这个就能解决问题,但实际情况 laradockLiunx 环境下不成功,服务器上的 centos 是可以的。暴露了一个情况,就是需要一个懂 docker 的把 laradock 继续做修改才能达到和服务器一样的环境。而像笔者这种小白体验到的优点基本上寥寥无几(只针对开发环境)。目前优点就是能在 windows 上运行 Linux 环境下的项目。

上一篇 下一篇

猜你喜欢

热点阅读