后端技术
以后端为主要,包含PHP、Python等技术文章。
待鸣
长风破浪会有时,直挂云帆济沧海
展开
-
WIN10下配置swoole&php7.4的docker镜像流程及资料聚合
前言在实际编程过程中,经常会遇到线上线下环境不一致,团队中各成员环境有差异的问题,而这些问题通常会占有大量的调试时间,所以如何将环境也像程序代码一样进行配置控制,保证各个环境下的程序运行预期一致。同时,也为了考虑线上灾备相关操作,进行了相关的技术选型,目前成熟的容器化可以提供有效的解决方案,目前我们选择的是docker方案。以下记录相关操作流程和参考资料。docker0x00 介绍docker官网Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。原创 2020-12-21 13:07:42 · 556 阅读 · 1 评论 -
PHP GD库文字生成图片及图片拼接
前言最近接了一个需求,需要自动生成图片,图片分为三个部分,如下显示Head 和 Footer 是固定的,Body 部分根据文字生产适应高度的图片,下面上代码, 代码里有详尽注释,代码里有一些特殊逻辑,不过也简单,为大家提供个思路。代码<?php// 图片头$image = ['./img/head.jpg'];// 初始高度$height = 0;// 页面宽度$wid...原创 2020-07-05 20:48:57 · 1696 阅读 · 0 评论 -
oracle 11g不能连接报ORA-12537+ora-609解决 实测可用
操作系统: windows2008数据库:oracle11g问题发生:一套正常跑了一年的应用系统,忽然无法连接上数据库,但是另外一个应用可以正常链接,数据入库正常。数据库服务器端查看:使用 lsnrctl status 查看监听状态卡住,10分钟左右结果才会反馈。plsql无法连接。重启监听问题依旧。alter日志文件中报错:Fatal NI connect ...转载 2019-07-03 15:00:08 · 1481 阅读 · 0 评论 -
MYSQL 字段权重排序
这个东西基本思路就是按照需求造个临时表(union),新表里的权重是动态生成的。找了一圈这是最简单粗暴的方式( SELECT (weight_v2 + 10000) AS tmp , yun_hits, title, weight_v2 FROM fv_biaozhun WHERE ( title LIKE '%葡聚糖%' OR st_no LIKE '%葡聚糖%'...原创 2019-03-14 18:02:21 · 4486 阅读 · 0 评论 -
MYSQL的SQL性能优化总结
转载至 https://mp.weixin.qq.com/s/PbtikNJlGmsR2iLSIA4aMw很多时候,我们的程序出现的“性能问题”,其实是我们自己写的那"坨"代码的问题,是自己Coding的问题,是Mysql的DML语句使用的问题。 以下是我总结的关于MySQL DML语句的使用中需要注意的点。对于 select*要时刻保持谨慎的态度绝大多数情况,是不需要 select*...转载 2019-02-25 10:05:46 · 223 阅读 · 0 评论 -
mysql 中文排序
1. 在MySQL中,我们经常会对一个字段进行排序查询,但进行中文排序和查找的时候,对汉字的排序和查找结果往往都是错误的。 这种情况在MySQL的很多版本中都存在。如果这个问题不解决,那么MySQL将无法实际处理中文。 出现这个问题的原因是因为MySQL在查询字符串时是大小写不敏感的,在编绎MySQL时一般以ISO-8859字符集作为默认的字符集,因此在比较过程中中文编码字符大小写转换造成转载 2017-09-14 09:44:21 · 356 阅读 · 0 评论 -
修改 thinkphp5 分页样式
现在的项目的分页样式太丑了,一直也放着也没有去管,最近实在是看不下去了,打算好好看看这块,找了很多,也都比较模糊,于是根据 官方手册 打算搞一搞原创 2017-08-30 11:32:08 · 2424 阅读 · 1 评论 -
thinkphp Db类
public function __call($method, $args) { if (strtolower(substr($method, 0, 5)) == 'getby') { // 根据某个字段获取记录 $field = Loader::parseName(substr($method, 5));转载 2016-07-28 14:39:30 · 653 阅读 · 0 评论 -
office 和 wps 对于超链接的处理浅析
最近遇到一个问题,一个系统的链接譬如:http://*/home/biaofa.biaofa_list/biaozhuncontent?itemid=29008&quanku=1在 wps 打开内容页面正常,在 office 中打开后跳转至系统首页,当时研究了一阵,未知其然,提出了让用户去用 wps 做临时处理的方式,后来这事暂时耽搁了下来。后来考虑到是否是两个软件对于超链的处...原创 2019-01-24 09:13:38 · 1565 阅读 · 1 评论 -
PHP下载文件并重命名
背景:有个需求是要求下载文件并将其改名,故当时将功能做至项目上,导致文件下载流程如下:附件服务器 - 下载 - > 项目服务器- 改名 - > 用户相当于下载了两个文件,再加上带宽附件服务器带宽2M,用户体验差,故考虑去掉中间步骤,用户直接向附件服务器请求文件。服务器环境:Windows Server 2008 IIS 7 PHP 5.4过程:...原创 2018-10-30 16:49:45 · 617 阅读 · 0 评论 -
echo '1'.print(2)+3;
今天看到一道有趣的题目,如上所示。结果为什么会是511呢? 这个结果的计算分为三步来理解: 首先计算的是 右边print(2)+3,这个你可以直接理解成print(2+3),得到的结果是5。而print是一个函数, 它的返回值总是1。 第二步就是echo '1'.print('结果')(返回值是1),因此会得到11的结果。 第三步就是将之前计算的结果进行连接,并最终进行输出,得到的结果就...转载 2018-05-04 14:14:10 · 1651 阅读 · 0 评论 -
PHPWord 导出模版Word文件,无法打开,提示xml pasring error
最近在处理网站批量导出模版word时,遇到一个问题:网站是用PHP语言编写的,导出模版word(即将用户填写内容动态的插入word相应位置,生成.doc或.docx文件)采用的是PHPWord插件,但是发现部分word文件无法打开,提示 “xml pasring error 行2 列25343”。解决的过程:1、设法查看到导出的这份word文件(假设为tmp.docx)的xml部分:将...转载 2019-03-15 13:28:39 · 2263 阅读 · 0 评论 -
Python下 selenium + GraphQuery 采集小例
现在反爬措施日新月异,爬虫技术也道高一尺魔高一丈,经历了IP封禁、js防爬等防御手段,总结了一套还算是不错的采集组合GraphQuery:https://github.com/storyicon/graphquery国内能查到的资料貌似不多,但是功能还是很强的,用一种类似于接口请求的方式去获取所需的格式化数据。selenium:控制 chorme ,操作浏览器的一个工具;基本...原创 2019-06-27 17:21:39 · 259 阅读 · 0 评论 -
在线分析office(xls, xlsx, doc, docx)文档内容 扩展可在线预览
最近在做一个文档分析系统,要求是在上传的两千份左右的office文件里筛选出含有一千个左右的关键词,因为以前主业开发PHP,但是PHP在处理这块的时候“力不从心”,整好研究了小半年的Python,于是希望用Py和PHP混合开发,简单架构如下:(为啥有Node,因为后边调用了 textract 来处理某些文件)前台PHP上传那块不做赘述,常规CURD,Upload,重点是后边 Py+No...原创 2019-07-16 08:01:19 · 860 阅读 · 0 评论 -
PHP使用基于SMAL协议的AzureAD认证实现SSO
Azure Active Directory (Azure AD) 是 Microsoft 提供的多租户、基于云的目录和标识管理服务。Azure AD 将核心目录服务、应用程序访问管理和标识保护组合到一个解决方案中,提供基于标准的平台,帮助开发人员根据集中策略和规则为其应用程序提供访问控制。SAML 即安全断言标记语言,英文全称是 Security Assertion Markup Langu...原创 2019-08-09 15:43:00 · 1935 阅读 · 0 评论 -
thinkphp5下redis记录日志
behavior\Log.php 在tag.php里配置'app_init' => [ 'app\\index\\behavior\\Log',],<?phpnamespace app\index\behavior;use think\Request;// 初始化钩子信息class Log{ // 行为扩展的执行入口必须是run ...原创 2019-10-11 13:59:53 · 541 阅读 · 0 评论 -
thinkphp5 Redis队列日志服务
之前业务上写日志记录的时候都是同步处理,日志处理模块总是要浪费一些时间的,导致系统整体响应较慢,上 kafka 那种级别的东西又有点杀鸡牛刀,于是打算上 Redis,利用 List 做一下队列,东西不难,记个思路。前提:1. 安装Redis 2. 安装 php_redis 扩展思路:代码:\application\common\command\Log.php<...原创 2019-10-16 16:31:24 · 526 阅读 · 0 评论 -
Microsoft Azure PHP SAML SSO配置
登录https://portal.azure.com/进入控制台点击 Azure Active Directory点击 企业应用程序点击 新建应用程序点击 非库应用程序选择 应用是否需要分配用户登录, 如果需要的话则需要 分配用户和组点击 设置单一登陆我这里选择 SAML, 进行配置, 详细配置可以看我之前的一篇文章https://b...原创 2019-11-19 14:52:34 · 785 阅读 · 0 评论