Mr.Blog


  • 首页

  • 归档

  • 标签

  • 分类

  • 搜索

HTML 转 PDF 或 图片

发表于 2018-10-09 | 更新于: 2021-07-13 | 分类于 PHP

KnpLabs/snappy

knp-snappy 安装
1
composer require knplabs/knp-snappy
WINDOWS 系统安装扩展包 wkhtmltopdf-windows
1
2
3
4
composer require wemersonjanuario/wkhtmltopdf-windows

#二进制文件路径(32位和64位)
vendor\wemersonjanuario\wkhtmltopdf-windows\bin
LINUX 系统扩展包
1
2
3
4
5
6
7
#i386 的二进制文件
composer require h4cc/wkhtmltopdf-i386
composer require h4cc/wkhtmltoimage-i386

#amd64
composer require h4cc/wkhtmltopdf-amd64
composer require h4cc/wkhtmltoimage-amd64
阅读全文 »

GitLab CI 自动化部署

发表于 2021-07-13 | 分类于 Other

在项目根目录下添加 .gitlab-ci.yml 文件,并将 GitLab 项目配置为使用 Runner,则每次提交或推送都会触发 CI pipeline.
点击查看官方文档


GitLab-Runner

安装

1
2
3
4
5
6
7
# Mac
brea install gitlab-runner
# 登录后启动(后台运行)
brew services start gitlab-runner

# 其它环境
https://docs.gitlab.com/runner/install/
阅读全文 »

PHP 系列 (三)

发表于 2019-02-22 | 更新于: 2021-07-13 | 分类于 PHP

cURL 模拟登录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
$data = [
'email' => 'test@126.com',
'password' => '123456',
];
// 模拟登录
$cookie = __DIR__ . '/cookie.txt';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// 连接结束后,保存 cookie 信息的文件
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$result = curl_exec($ch);

// 采集数据
$url = 'http://xxx.com/login';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// 包含 cookie 数据的文件
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie);
$result = curl_exec($ch);
$result = json_decode($result, true, JSON_UNESCAPED_UNICODE);
var_dump($result);
阅读全文 »

PHP 相关问题

发表于 2020-07-02 | 更新于: 2021-07-13 | 分类于 PHP

$_SERVER[‘path_info’] WINDOWS环境下, 奇葩问题

1
2
3
# 路由地址以H5开头的, 首字母会被转化为大写
# 例:test.com/h5/getUser
path_info = H5/getUser

Redis 扩展 ping() 返回值

1
2
3
4
5
6
7
1. redis extension < 5.0, ping() return +PONG
2. redis extension >= 5.0, ping() return true

# 若设置了 $message, 则 ping($message = null) 成功后, 返回 $message, 兼容 redis 4.x 和 5.x 的 ping() 写法
if (!($redis->ping('+PONG') === '+PONG')) {
exit('redis connection is not available');
}

NodeJs & Npm

发表于 2021-07-13 | 分类于 NodeJs

Node.js 基于 Chrome V8 引擎的 JavaScript 运行环境

1
2
3
4
5
6
7
8
9
10
11
# Mac 
brew install node
# Linux
wget https://nodejs.org/dist/v14.17.3/node-v14.17.3-linux-x64.tar.xz
tar -xvf node-v14.17.3-linux-x64.tar.xz
mv node-v14.17.3-linux-x64 /usr/local/node
ln -s /usr/local/node/bin/node /usr/local/bin/
ln -s /usr/local/node/bin/npm /usr/local/bin/

# 查看 node 版本
node -v

NPM 是 Node.js 默认的包管理工具

常用命令

1
2
3
4
5
6
7
8
9
10
11
# 查看包管理工具版本
npm -v

# 查看全局安装的包
npm list -g --depth 0

# 查看当前目录安装的包
npm list

# npm 设置国内代理(原代理 https://registry.npmjs.org/)
npm config set registry https://registry.npm.taobao.org

npm i 和 npm ci 区别

1
2
3
4
5
6
7
8
9
npm install(npm i) 适用场景:安装新依赖或者升级已有依赖
1. npm i 将安装所有 package.json 中的依赖。
2. 如果使用 ^ 或 ~ 标识依赖的版本,npm i 将精准安装所标识的版本。
3. npm i 会更新 package-lock.json 文件。

npm ci 适用场景:在 CI/CD 场景中使用,确保依赖版本一致
1. 将删除 node_modules 文件夹以确保干净的环境。
2. 依照 package-lock.json 里的依赖版本精准安装。
3. 强依赖于 package-lock.json,如果 package-lock.json 不存在,npm ci 将不会工作。

Mac 常用软件

发表于 2021-07-13 | 分类于 Mac

Homebrew

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 安装方式一:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# 安装方式二(推荐):
# 浏览器访问 install.sh,下载后编辑 install.sh
# 将 https://github.com/Homebrew/brew 替换为 https://github.com.cnpmjs.org/Homebrew/brew.git
sh install.sh
# 当代码运行到 Tapping homebrew/core 时,Ctrl + C 退出进程
cd /usr/local/Homebrew/Library/Taps/homebrew
# 下载 homebrew-core
git clone https://github.com.cnpmjs.org/Homebrew/homebrew-core.git
# 下载 homebrew-services
git clone https://github.com.cnpmjs.org/Homebrew/homebrew-services.git

brew update

iTerm2 + zsh

1
2
3
4
5
6
7
8
9
10
11
# 设置默认终端软件,左上角菜单栏:iTerm2 → Make iTerm2 Default Term

# 安装 oh-my-zsh(如果太慢,就浏览器访问 install.sh,下载后运行 sh install.sh)
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

# 配置主题,修改 ZSH_THEME="ys"
vim ~/.zshrc

# 下载配色包 - https://github.com/mbadolato/iTerm2-Color-Schemes.git
# 配色方案 iTerm2-Color-Schemes-master/schemes/Mirage.itermcolors
iTerm2 -> Prefenences -> Profiles -> Colors -> Color Presets -> Import 导入配色方案

Git 安装并替换默认 Git

1
2
3
4
5
6
7
# 下载并安装 git,https://git-scm.com/download/mac 选择 Binary installer 下的 installer
# 安装后的 git 位于 /usr/local/bin/git

# 重命名默认 git
sudo mv /usr/bin/git /usr/bin/git-system
# 若提示 Operation not permitted, 则需要关闭 rootless 机制, 然后重新运行上面的命令
重启 -> command + r (恢复模式)-> 打开终端 -> 输入命令 csrutil disable -> 重启

Mac 下 Homebrew 搭建 PHP 开发环境

发表于 2021-07-13 | 分类于 Mac

PHP

安装

1
2
3
4
5
6
7
brew install php
# 启动
brew services start php@7.4
# 重启
brew services restart php@7.4
# 查看安装好的php路径
brew --prefix php@7.4

配置

1
2
3
4
5
6
7
8
9
10
11
12
13
# 配置 /usr/local/etc/php/7.4/php-fpm.conf
pid = /usr/local/var/run/php74-fpm.pid
error_log = /Users/sev/Development/logs/php74-fpm.log

vim ~/.bash_profile
export PATH="/usr/local/opt/php@7.4/bin:$PATH"
export PATH="/usr/local/opt/php@7.4/sbin:$PATH"
export LDFLAGS="-L/usr/local/opt/php@7.4/lib"
export CPPFLAGS="-I/usr/local/opt/php@7.4/include"
# 注意:source ~/.bash_profile, 关闭窗口后就失效, 配置打开终端就生效
vim ~/.zshrc
# 在文件尾部添加一行
source ~/.bash_profile
阅读全文 »
12…15
Mr

Mr

懒........

102 日志
21 分类
56 标签
RSS
Links
  • Novnan
  • 挨踢Blog
  • Eagle
  • Timber
  • 谢炳南
© 2020 — 2021 Mr
0%