以下扩展安装基于 Docker 搭建 LNMP + Redis
全局安装 Laravel dd() 函数
创建 composer 文件夹
1 | cd /data/php |
新建 /data/php/composer/composer.json
1 | { |
新建 /data/php/debugHelper.php
1 |
|
修改 /data/docker-compose.yml
后重启容器
1 | php: |
1 | docker-compose restart |
进入 php
容器安装 dd
函数依赖包并复制至本地
1 | docker exec -it php /bin/bash |
停止运行容器
1 | docker-compose stop |
映射 composer
和 debugHelper.php
修改
php.ini
1
auto_prepend_file = "/var/www/.composer/vendor/autoload.php"
修改
/data/php/composer.json
1
2
3
4
5
6
7
8
9
10
11
12{
"require": {
"squizlabs/php_codesniffer": "*",
"fxp/composer-asset-plugin": "^1.4",
"symfony/var-dumper": "3.3.16"
},
"autoload": {
"files": [
"/usr/local/etc/php/debugHelper.php"
]
}
}修改
docker-compose.yml
并重启(需重新构建)1
2
3
4
5php:
container_name: php
volumes:
- /data/php/debugHelper.php:/usr/local/etc/php/debugHelper.php
- /data/php/composer:/var/www/.composer1
docker-compose up -d --build
进入容器, 更新
composer
自动加载1
2
3
4
5
6
7
8
9
10
11
12
13
14
15docker exec -it php /bin/bash
# 1.修改 /var/www 所属用户和组
chown -R www-data:www-data /var/www
# 2.设置 www-data 用户可登录(查看用户ID可使用命令 id www-data)
usermod -s /bin/bash -u 33 www-data
# 3.切换至 www-data
su www-data
# 4.更新 composer 自动加载
composer global dump-autoload
# 5.退出 www-data 用户
exit
# 6.重新设置 www-data 用户不可登录(查看用户ID可使用命令 id www-data)
usermod -s /usr/sbin/nologin -u 33 www-data
# 7.退出容器
exit
Docker PhpStorm + Xdebug
编辑 docker-php-ext-xdebug.ini
1 | zend_extension=/usr/local/lib/php/extensions/no-debug-non-zts-20170718/xdebug.so |
配置 PhpStorm
1 | # 1.配置端口 |
PhpStorm 启用监听即可
Docker wkhtmltopdf, 基于原先打包好的 sevming/php72:0.1
镜像
1 | # 1.运行容器 |