ASCWH

搜索到 102 篇与 PHP 的结果
03-03

php-redis 5 以后弃用方法名和替代方法名

php-redis 5 以后弃用方法名和替代方法名
php-redis 5以后废弃了一些方法名被弃用方法名替代方法名deletedelzUnionzunionstorezInterzinterstorezDeleteRangeByRankzRemRangeByRankzDeleteRangeByScorezRemRangeByScorezDeletezRemsetTimeoutexpiresContainssismembersRemovesremsSizescardlGetRangelrangelGetlindexlistTrimltrimlRemovelremlSizelLengetKeyskeysgetMultiplemgetrenameKeyrename

PHP

86 阅读
03月03日
86 阅读
0 评论
01-26

think-queue 实例

think-queue 实例
一 代码示例先通过一段代码,了解一下 thinkphp-queue 的基本使用流程。目标: 在业务控制器中推送一个新消息到一个名为 ‘helloJobQueue’ 的队列中,该消息中包含我们自定义的业务数据,然后,编写一个名为 Hello 的消费者类,并通过命令行去调用该消费者类获取这个消息,拿到定义的数据。1.1 安装 thinkphp-queuecomposer install topthink/think-queue1.2 搭建消息队列的存储环境使用 Redis [推荐]安装并启动 Redis 服务使用数据库 [不推荐]CREATE TABLE `prefix_jobs` ( `id` int(11) NOT NULL AUTO_INCREMENT, `queue` varchar(255) NOT NULL, `payload` longtext NOT NULL, `attempts` tinyint(3) unsigned NOT NULL, `reserved` tinyint(3) unsigned NOT NULL, `reserved_...

PHP

156 阅读
01月26日
156 阅读
0 评论
01-26

Thinkphp 队列 think-queue 官方文档

Thinkphp 队列 think-queue 官方文档
官方文档安装composer require topthink/think-queue配置配置文件位于 config/queue.php公共配置[ 'default'=>'sync' //驱动类型,可选择 sync(默认):同步执行,database:数据库驱动,redis:Redis驱动//或其他自定义的完整的类名 ]创建任务类单模块项目推荐使用 app\job 作为任务类的命名空间多模块项目可用使用 app\module\job 作为任务类的命名空间也可以放在任意可以自动加载到的地方任务类不需继承任何类,如果这个类只有一个任务,那么就只需要提供一个fire方法就可以了,如果有多个小任务,就写多个方法,下面发布任务的时候会有区别 每个方法会传入两个参数 think\queue\Job $job(当前的任务对象) 和 $data(发布任务时自定义的数据)还有个可选的任务失败执行的方法 failed 传入的参数为$data(发布任务时自定义的数据)下面写两个例子namespace app\job; use think\queue\Job; class Job1{...

PHP

145 阅读
01月26日
145 阅读
0 评论
01-03

EasySwoole 服务热重启

EasySwoole 服务热重启
由于 swoole 常驻内存的特性,修改文件后需要重启worker进程才能将被修改的文件重新载入内存中,我们可以自定义Process的方式实现文件变动自动进行服务重载新建文件 app/Process/HotReload.php 并添加如下内容,也可以放在其他位置,请对应命名空间<?php namespace App\Process; use EasySwoole\Component\Process\AbstractProcess; use EasySwoole\EasySwoole\ServerManager; use EasySwoole\Utility\File; use Swoole\Table; use Swoole\Timer; class HotReload extends AbstractProcess { protected $table; protected $isReady = false; protected $moni...

PHP

463 阅读
01月03日
463 阅读
0 评论
12-16

再见,CentOS!

再见,CentOS!
近日,CentOS官方宣布CentOS系列稳定版Linux系统将停止维护,取而代之的是测试版的CentOS Stream,这也意味着CentOS将会退出历史舞台,因此引发了CentOS用户的强烈不满。据了解,CentOS联合创始人Greg Kurtzer是许多社区成员之一,对这一改变也是相当震惊和不满。Kurtzer周三发表了以下新闻声明:Red Hat的消息使我和社区的其他人一样震惊。16年前,当我开始使用CentOS时,我从来没有想过它会在全世界范围内对那些依靠CentOS发行Linux的个人和企业产生如此重大的影响。为了应对这个猝不及防的改变,我决定宣布一个新项目——Rocky LinuxRocky Linux短短几天时间就在GitHub标星4.3K,直接霸榜GitHub热门榜单第一。Rocky Linux是一款社区企业操作系统,旨在与Red Hat Enterprise Linux 100%兼容”。关于项目本身的一些问题,Kurtzer也做出了清晰的回答。问:Rocky Linux从何入手?Rocky Linux的目标是像CentOS之前所做的那样,作为一个下游构建,问:...

PHP

379 阅读
12月16日
379 阅读
0 评论
09-19

Windows 下 PHP 安装 amqp 扩展

Windows 下 PHP 安装 amqp 扩展
安装php扩展amqp先查看自己的php版本记住版本 至于这个线程安全问题这就不扯了^_^ ^_^接下来下载dll文件 地址http://pecl.php.net/package/amqp这里选择最新版本php版本 ,X86 和X64 根据自己情况 , NTS 和 TS 就是那个thread safty 的状态 这个大家都会看吧 就不多说了下载解压将php_amqp.dll文件放到php目录的ext文件夹下 见下图:将rabbitmq.4.dll文件放到php根目录 见下图:php.ini里面添加 extension=php_amqp.dll 然后在apache配置文件里面写上引用代码LoadFile "C:/phpEnv/php/php-7.3/rabbitmq.4.dll"重启环境即可看到如图//// 本地环境基于 phpEnv//// 过程中注意环境版本、 线程安全状态即可

PHP

661 阅读
09月19日
661 阅读
0 评论
09-14

使用PHP7扩展trie_filter 敏感词过滤

使用PHP7扩展trie_filter 敏感词过滤
最近需要做一个简单的敏感词检测系统,通过百度找到了 trie_filter 这个扩展.安装这个扩展真是一波三折呀.原作者最后更新时间是13年,不支持php7.很愁很苦恼.但是最后还是很愉快的解决了.下面和大家分享一下安装php-ext-trie-filter扩展前需要安装他的依赖库libdatrie,依赖库下载地址:http://linux.thai.net/~thep/datrie/datrie.html#Download我们使用0.2.12版 cd /usr/local/src/ curl -O ftp://linux.thai.net/pub/ThaiLinux/software/libthai/libdatrie-0.2.12.tar.xz tar zxvf libdatrie-0.2.12.tar.xz cd libdatrie-0.2.12 make clean ./configure --prefix=/usr/local/libdatrie make make install在 第一次安装这个依赖的时候 make clean 这条命令会报错 无视即可...

PHP,LINUX

658 阅读
09月14日
658 阅读
0 评论
03-26

PHP 导入 Excel 时间格式处理

PHP 导入 Excel 时间格式处理
public static function formatExcelTime($time, $format = 'Y-m-d H:i:s') { $formatTime = $time; // 这里要注意 `.` 因为不具体到时间的话,是没有 `.` 的,而具体到时间之后,就有 `.` 了 if (preg_match('/^[\d.]*$/', $time)) { // 正常的时间处理 if (strtotime($time)) { $formatTime = date($format, strtotime($time)); } else { // 如果是 excel 的时间,则另外处理 $formatTime = gmdate($format, ($time - 25569) * 86400); } } re...

PHP

1,123 阅读
03月26日
1,123 阅读
0 评论
03-18

Redis List操作

Redis List操作
//在列表头部插入一个值one,当列表不存在时自动创建一个列表,key1为列表名 $redis->lpush("key1", "one"); //在列表尾部插入一个值two,当列表不存在时自动创建一个列表,key1为列表名 $redis->rPush("key1","two"); //将一个插入已存在的列表头部,列表不存在时操作无效 $redis->rPushx("key1","1"); //删除列表的第一个元素并返回列表和列表的第一个元素,当key1不存在或不是列表则返回false $redis->lPop('key1'); //删除...

PHP

1,051 阅读
03月18日
1,051 阅读
0 评论
03-06

一个神奇的文档网站生成工具--docsify

一个神奇的文档网站生成工具--docsify
docsify 是一个动态生成文档网站的工具。不同于 GitBook、Hexo 的地方是它不会生成将 .md 转成 .html 文件,所有转换工作都是在运行时进行。这将非常实用,如果只是需要快速的搭建一个小型的文档网站,或者不想因为生成的一堆 .html 文件“污染” commit 记录,只需要创建一个 index.html自己看吧官方文档

PHP

1,468 阅读
03月06日
1,468 阅读
1 评论
03-05

thinkphp6.0 + Workerman+ GatewayWorker websocket通讯

thinkphp6.0 + Workerman+ GatewayWorker websocket通讯
毫无疑问 重点在 Workerman Workerman是一款纯PHP开发的开源高性能的PHP socket 服务框架。GatewayWorker基于Workerman开发的一个项目框架,用于快速开发TCP长连接应用,例如app推送服务端、即时IM服务端、游戏服务端、物联网、智能家居等等ThinkPHP 手册中有部分在框架中的使用说明首先通过 composer 安装composer require topthink/think-worker次扩展中说明了 两种启动方式 使用Workerman作为HttpServerphp think worker SocketServerphp think worker:server 其他按照文档配置足够或者按照 Workerman 手册 进行配置说到这好像没有 GatewayWorker 的影子 如果不使用 GatewayWorker 也可以不进行安装 单独安装workerman 也可以 ,同时 topthink/think-worker ThinkPHP 官方扩展包一样可以不用安装,如果使用 官方扩展包 以及 GatewayWorker ...

PHP

1,367 阅读
03月05日
1,367 阅读
1 评论
02-28

CURL 请求出现 301 Moved Permanently

CURL 请求出现 301 Moved Permanently
永久重定向是一种非常重要的“自动转向”技术,是网址重定向最为可行的一种办法。当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息(header)中的状态码的一种。实际就是被请求网址进行了重定向,,,解决:添加下一行curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);这句话的意思是当遇到location跳转时,直接抓取跳转的页面。

PHP

1,130 阅读
02月28日
1,130 阅读
0 评论
01-06

git WebHooks 简单的同步脚本

git WebHooks 简单的同步脚本
// 接收POST过来的信息 $json = file_get_contents('php://input'); $data = json_decode($json, true); // 你的项目路径 $paths = [ 'master' => '/wwwroot/master/', 'develop' => '/wwwroot/develop/', ]; // 获取分支名 $ref = explode('/', $data['ref']); $branch = end($ref); $path = $paths[$branch]; // 当前分支路径 $access_token = ''; $client_token = $data['password']; logs('Start',$json); // 验证token 有错就写进日志并退出 if ($client_token !== $access_token) { logs('验证token',$access_token); exit('Invalid token [403]'...

PHP

1,087 阅读
01月06日
1,087 阅读
0 评论
12-28

各种锁

各种锁
乐观锁分为三个阶段:数据读取、写入校验、数据写入。假设数据一般情况下不会造成冲突,只有在数据进行提交更新时,才会正式对数据的冲突与否进行检测,如果发现冲突了,则返回错误信息,让用户决定如何去做。fail-fast机制。悲观锁正如其名,它指对数据被外界(可能是本机的其他事务,也可能是来自其它服务器的事务处理)的修改持保守态度。在整个数据处理过程中,将数据处于锁定状态。悲观锁大多数情况下依靠数据库的锁机制实现,以保证操作最大程度的独占性。如果加锁的时间过长,其他用户长时间无法访问,影响程序的并发访问性,同时这样对数据库性能开销影响也很大,特别是长事务而言,这样的开销往往无法承受。分布式锁分布式集群中,对锁接口QPS性能要求很高,单台服务器满足不了要求,可以考虑将锁服务部署在独立的分布式系统中,比如借助分布式缓存来实现。可重入锁可重入锁,也叫做递归锁,是指在同一个线程在调外层方法获取锁的时候,再进入内层方法会自动获取锁。ReentrantLock 和synchronized 都是 可重入锁。可重入锁的一个好处是可一定程度避免死锁。自旋锁自旋锁是采用让当前线程不停地在循环体内执行,当循环...

PHP

1,214 阅读
12月28日
1,214 阅读
0 评论

人生倒计时

今日已经过去小时
这周已经过去
本月已经过去
今年已经过去个月

今日天气

少数派热文榜

  • 获取失败!

标签云