
PHP Windows上面开发swoole的一种另类尝试通过Samba方式
起因 近期想尝试swoole开发,无奈低版本系统搞不定docker,就想出了这么奇葩的玩法 步骤 首先安装VMware虚拟机,在虚拟机里面安装centos,然后安装宝塔(我比较喜欢)有其他的也可以尝试安装。 安装 Samba 包,设置 Samba 配置,Samba新版本的比较坑跟老版本不一样 # 新建一个 swoole_test用户,并加入www组 [share] comment = share path = /www/wwwroot/swoole_test.me browseable = yes guest ok = yes #writable = yes create mask = 0777 directory mask = 0777 write ok = yes write list = swoole_test 并且需要在站点目录打开权限 设置 0777 权限 最后在Windows添加映射就可以了
PHP Yii框架日志 分文件 分类型设置方法
‘log’ => [ ‘traceLevel’=> YII_DEBUG ? 3 : 0, ‘targets’ => [ [ ‘class’ => ‘yii\log\FileTarget’, ‘levels’ => [‘error’, ‘warning’,’info’,’trace’], ], [ ‘class’=> ‘yii\log\FileTarget’, ‘levels’ => [‘info’], ‘categories’ => [‘rhythmk’], ‘logFile’ => ‘@app/runtime/logs/Mylog/requests.log’, ‘maxFileSize’ => 1024 * 2, ‘maxLogFiles’ => 20, ], ], ], 调用方法 Yii::info(“info …. “,”rhythmk”); //输出自定义目录日志,@app/runtime/logs/Mylog/requests.log
Java Java 开发API时进行版本控制
提醒:本文最后更新于2021-05-19 23:03,文中所关联的信息可能已发生改变,请知悉! 控制器 V 1.0.1 @RestController @RequestMapping(headers=version=1.0.1) public class Hello2Controller { @RequestMapping(/hello) public String index(){ return V2 test 8001; } } 默认控制器 @RestController public class HelloController { @RequestMapping(/hello) public String index(){ return test 8001; } } 调用 version 放在 headers 里面发送 HTTP GET: http://localhost:8001/hello version: 1.0.1
PHP YII2 在控制器内映射 Action 到其它动作 用于API多版本处理的一种方式
首先定义一个 RedirectAction 类。 class RedirectAction { protected $actionId; public function __construct($actionId) { $this->actionId = $actionId; } public function __invoke($id, \yii\base\Controller $controller) { return $controller->createAction($this->actionId); } } 接着在控制器内重写实现 actions() 方法,用于映射 Action ID => 实际的动作。 class Controller { public function actions() { return [ ‘foo’ => new RedirectAction(‘bar’), // 访问 `module/controller/foo` 将会被重定向至 `actionBar` 方法 // … ]; } public function …
PHP thinkphp6 多应用 API 版本控制
上图为目录结构图 方法一 route / app.php 文件内容 // api版本路由 Route::rule(‘:version/:controller’, ‘api/:version.:controller/index’); Route::rule(‘:version/:controller/:action’, ‘api/:version.:controller/:action’); 方法二 route / app.php 文件内容 $v = request()->header(‘version’); if ($v == null) $v = “v1”; Route::rule(‘:controller/:action’, ‘api/’.$v.’.:controller/:action’);
PHP thinkphp6 多应用 和 thinkphp5.1 路由使用小记
在thinkphp5.1中,控制API版本可以用 Route::get(‘api/:version/home’,’api/:version.Index/home’); 但是在 thinkphp6的多应用下不生效了 注意,这时 route 目录放在某个应用下,比如 放在 api 目录下 Route::rule(‘:version/:controller’, ‘api/:version.:controller/index’); Route::rule(‘:version/:controller/:action’, ‘api/:version.:controller/:action’);
未分类 阿里小号突然不能开机了阿里小号客服电话
阿里小号突然不能开机了,找不到他们的客服,搜索了半天 才找到的,在这里记录一下 10029 ,如果提示空号,需要加区号 0571-10029 本文只记录,不是官方途径,如果后期有改动以官方信息为准
PHP thinkphp中 数据库 迁移工具Migration
常用命令 migrate:run 更新 migrate:rollback 还原 -t 参数 还原到指定版本 think migrate:create Test 创建一个文件,文件名须采用驼峰命名法 首字母必须用大写 可用字段 数据库结构构造器包含了许多字段类型,供你构建数据表时使用: 命令 描述 Column::bigInteger(‘votes’); 相当于 BIGINT 型态。 Column::binary(‘data’); 相当于 BLOB 型态。 Column::boolean(‘confirmed’); 相当于 BOOLEAN 型态。 Column::char(‘name’, 4); 相当于 CHAR 型态,并带有长度。 Column::date(‘create_time’); 相当于 DATE 型态。 Column::dateTime(‘create_time’); 相当于 DATETIME 型态。 Column::decimal(‘amount’, 5, 2); 相当于 DECIMAL 型态,并带有精度与基数。 Column::enum(‘cho…
服务器 MySQL 批量 转换 数据库引擎
InnoBD 转 MyISAM SET @DATABASE_NAME = ‘数据库名称’; SELECT CONCAT(‘ALTER TABLE `’, table_name, ‘` ENGINE=MyISAM;’) AS sql_statements FROM information_schema.tables AS tb WHERE table_schema = @DATABASE_NAME AND `ENGINE` = ‘InnoDB’ AND `TABLE_TYPE` = ‘BASE TABLE’ ORDER BY table_name DESC; MyISAM 转 InnoBD SET @DATABASE_NAME = ‘数据库名称’; SELECT CONCAT(‘ALTER TABLE `’, table_name, ‘` ENGINE=InnoDB;’) AS sql_statements FROM information_schema.tables AS tb WHERE table_schema = @DATABASE_NAME AND `ENGINE` = ‘My…
PHP PHP 微型模板引擎的尝试
前言 前面做一个店铺装修的功能,自己尝试做一个微型的模板引擎来实现输出显示,然后查了资料,记录一下重点部分 要点 解析好的模板文件必须写入到某个文件里面,然后 require 那个文件 步骤 1. ob_start(); 开始截取输出 2. require 编译后的模板文件 3. $result = ob_get_clean(); 获取并清除输出的内容 代码 <?php namespace weixinend\libs; class MiniViewTemplate { /** * 模板文件路径 * @var string */ protected $viewPath; /** * 编译文件保存路径 * @var string */ protected $cachePath; /** * 模板文件后缀名 * @var string */ protected $viewFileSuffix = [‘.html’,’.php’]; /** * 保存渲染的变量 * @var array */ protected $vars = []; /** * 当前模板…
PHP php empty在自定义class时的问题
最近在做自定义类,在设置属性时,一个类已经写了下面代码 public function __set($name, $value) { $this->offsetSet($name, $value); } public function __get($name) { return $this->offsetGet($name); } 但是用 empty 判断时,竟然返回 true 经过网上查找资料,了解到 empty 触发的不是 __get 方法,而是触发 __set 加上下面的代码即可 public function __isset($name){ return $this->offsetExists($name); } 补充一下,该类实现了 ArrayAccess
后端 MySQL 表结构生成 Markdown 文档工具mysql_markdown
背景 在实施软件工程的时候,当要将某一版本归档时,需要汇总的文档要求还是比较高的、各类文档齐全,包括项目架构、项目安装、接口等文档,而数据库表结构说明文档亦属于其一。记得很早之前想找一个可以导出 MySQL 数据库表结构说明文档的工具,生态上的这种工具是有的、只不过并没有一个使我比较满足的。当然、看个人所需,我需要一个可以导出 markdown 文档的。 于是 找到了 mysql_markdown 这个工具。它是一款基于 go 语言编写的一个命令行工具,适用于 Linux、Mac、Windows 等平台。那么它可以做什么?他只有一个功能、就是生成数据库表结构说明文档,格式为 markdown。 GitHub地址 简单用法 # 帮助函数 ➜ mysql_markdown -h flag needs an argument: -h Usage: mysql_markdown [options…] –help This help text -h host. default 127.0.0.1 -u username. default root -p password. default …
PHP PHP里面使用ReflectionClass小记
ReflectionClass 是 PHP里面的反射类,传入类名可以解析整个类,方便我们做高级操作,下面记录使用遇到的坑 $className = ‘Test’; // 判断类是否存在 if(!class_exists($className)) { // 报错 } $rc = new \ReflectionClass($className); // 判断方法是否存在 if (!$rc->hasMethod($actionName)) { // 报错 } // 获取到方法 $method = $rc->getMethod($actionName); // 判断当前方法是否为 public if (!$method->isPublic()) { // 报错,不是 public 方法不能 invoke } // 实例化,非静态方法,必须实例化,不然调用错误 // 静态方法 invoke 使用方法 $classObj 这里 换成 null // $method->invoke($classObj, $param); // 多个参数时,使用 invokeArgs 方法 /…
PHP PHP使用枚举Enum
使用到的库 https://github.com/myclabs/php-enum 具体代码 <?php —- # 1.定义 Enum 部分 namespace Type; require ‘./vendor/autoload.php’; class ArticleTypeEnum extends \MyCLabs\Enum\Enum { const GENERAL = 1; const JOB = 2; const DISCUSS = 3; const SHARE = 4; const COURSE = 5; const LIFE = 6; const SPECIAL_COLUMN = 7; } —- # 2.定义方法部分 function createArticle(array $data, ArticleTypeEnum $articleTypeEnum){ // 创建对应的类型的文章 } —- # 3.调用部分 try{ testTypeEnum($data, ArticleTypeEnum::GENERAL()); }catch (\Exception $e…


VMware15 安装 mac OS 10.15 调整分辨率

Quartz MySQL Specified key was too long; max key length is 767 bytes

阿里小号突然不能开机了阿里小号客服电话

VMware 安装 Mac os时必要操作

WordPress出现Briefly unavailable for scheduled maintenance. Check back in a minute. 的解决方法

WordPress一次表单设置导致的报错,此表单不安全,因此,系统已关闭自动填充功能

docker-compose.yml 一个细小的配置引起的网络bug

最近要在IDE或者浏览器插件中使用到Google翻译,但是国内又不大方便,某大佬提供了一个反代配置
