3月
23
composer 安装包的时候,可能出现 memory 不足问题处理。
error
PHP Fatal error: Allowed memory size of 1610612736 bytes exhausted (tried to allocate 4096 bytes) in phar:///usr/local/bin/composer/src/Composer/DependencyResolver/Solver.php on line 223
解决步骤
- 使用
composer -h 找到 composer 的位置.
- 开始安装
php -d memory_limit=-1 /usr/local/bin/composer require laravel/sanctum
2月
02
直接开始
# 方式一
sudo pecl channel-update pecl.php.net
sudo pecl install swoole
# 方式二
# 官网 https://wiki.swoole.com/#/environment
# pecl https://pecl.php.net/package/swoole
cd /usr/local/src
sudo wget https://pecl.php.net/get/swoole-4.6.2.tgz
sudo tar -xzvf swoole-4.6.2.tgz
cd swoole-4.6.2
sudo phpize
sudo ./configure \
--enable-openssl \
--enable-http2
# 支持更多可以看文档
./configure \
--enable-openssl \
--enable-http2 \
--enable-swoole-json \
--enable-swoole-curl
sudo make && make install
sudo make test
# 找到扩展存放位置
php -i|grep extension_dir
/usr/lib/php/20190902
sudo cp /usr/local/src/swoole-4.6.2/modules/swoole.so ./swoole.so
# 然后安装下边的方式配置和重启即可。
# 找 php 版本,发现是 7.4
php -v
sudo vim /etc/php/7.4/mods-available/swoole.ini
# php 扩展安装位置
php -i|grep extension_dir
# 写入下边内容
extension=swoole.so
# 创建软链
cd /etc/php/7.4/cli/conf.d
sudo ln -s /etc/php/7.4/mods-available/swoole.ini ./20-swoole.ini
# 重启
sudo service php7.4-fpm restart
# 查看
php --ri swoole
php -i |grep swoole
12月
24
过程
vagrant box remove laravel/homestead
vagrant destroy
# virtualbox 自带 uninstall
# 删除 vagrant
mac 安装的软件
- Chrome
- iterm2
- 迅雷
- vscode
- 微信
- Geph
- 百度云盘
- ForkLift
- HbuilderX
- 腾讯课堂
- Adobe Photoshop
- Adobe InDesign
- Adobe Lightroom Classic
- Adobe Preme
- Adobe II
- ezip
- 爱奇艺
- 钉钉
- 达芬奇
- Screenium 视频截图
- MacClean
- Navicat Premium
- rdm
- Postman
- 微信开发者工具
- 腾讯视频
- qq音乐
- QQ
- Sequel Pro
- 微信支付商户证书工具
- 百度小程序开发者工具
- Novavi PDF Editor2 这个蛮好用的 pdf 可以编辑 pdf
- 有道云笔记
- 花间
- mac office2019
mac ntfs 工具
https://blog.csdn.net/huajian121/article/details/108835602
11月
22
打开一次网址,访问次数就加一次。如果同一操作端连续打开,就不应该计算进去的。这就涉及到一个鉴别。已经有第三方包处理这种场景了,我们安装使用它就好了。
github: https://github.com/awssat/laravel-visits
doc: https://awssat.com/opensource/laravel-visits/3_installation.html#configurations
操作一波
composer require awssat/laravel-visits
php artisan vendor:publish --provider="Awssat\Visits\VisitsServiceProvider" --tag=config
安装 laravel-visits 包,并生成配置文件。这里我们使用 redis 来作为数据处理工具。在 config/database.php 中添加配置:
继续阅读
11月
13
最近 composer require 的时候,会出现 Allowed memory size of bytes exhausted 问题,安装不成功。那总得解决。
操作一波
# 看看 memory_limit 的值结果 1024M,这个我之前改过
php -r "echo ini_get('memory_limit').PHP_EOL;"
# 1024M 这玩意还是不行,继续
php -i grep | php.ini
# 结果(用的是 homestead 环境)
Configuration File (php.ini) Path => /etc/php/7.3/cli
Loaded Configuration File => /etc/php/7.3/cli/php.ini
# 将 memory_limit 的值改为 -1
vim /etc/php/7.3/cli/php.ini
# 重启 对应相关的 php-fpm
sudo service php7.3-fpm restart
重启后,再 require,就成功了。
11月
12
10月
23
响应格式的统一,对前端来说,是一种更好的体验。这里借鉴别人的地方,仅仅对 response 做统一格式响应。
规范的响应结构
RESTful 服务最佳实践
code—— 包含一个整数类型的 HTTP 响应状态码。
status—— 包含文本:”success”,”fail” 或”error”。HTTP 状态响应码在 500-599 之间为”fail”,在 400-499 之间为”error”,其它均为”success”(例如:响应状态码为 1XX、2XX 和 3XX)。
message—— 当状态值为”fail” 和”error” 时有效,用于显示错误信息。参照国际化(il8n)标准,它可以包含信息号或者编码,可以只包含其中一个,或者同时包含并用分隔符隔开。
data—— 包含响应的 body。当状态值为”fail” 或”error” 时,data 仅包含错误原因或异常名称。
继续阅读
10月
23
写在前面
统一响应结构,的确很有用。一种是官方默认的响应返回,比如自定义的 Request 的 validate。一种是自定义结构的。想要好的体验,就得两种统一处理起来。
工作中使用 Laravel 开发 API 项目已经有些年头了,发现每次启动新的 Api 项目的时都会在 Laravel 基础上进行一些预处理,包括针对 API 项目的结构设计,统一响应结构的封装,异常的捕获处理以及授权模块的配置等。总是在做一些重复的工作,那索性将这些常用的基础封装做成一个「启动模板」好了。
项目地址:戳这儿
继续阅读
9月
28
laravel 中 laravel-permission 对角色权限管理很好用。这里,就用这个玩意吧。突然想到一个额外的问题。项目中使用的是 Laravel Sanctum 来做认证。这样,仅仅是它自己可以使用了。如果想将 node.js 等和这个配合起来认证,就不好搞了。如果是用 jwt 来做,就不会出现这个问题。jwt 的实现都是一样的,各个语言都可以通用。岔开了,这里还是 laravel-permission 吧。
操作一波
文档:
https://spatie.be/docs/laravel-permission/v3/introduction
https://github.com/spatie/laravel-permission#installation
composer require spatie/laravel-permission
# 生成配置文件和迁移文件
php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider"
# 如果之前做过缓存,需要这样处理下
php artisan config:clear
# 生成数据库表
php artisan migrate
继续阅读