编译企业微信会话内容存档PHP版SDK扩展
1.下载SDK
如果克隆不了,就页面下载
git clone https://github.com/pangdahua/php7-wxwork-finance-sdk
2.下载企微官网C版本的最新sdk文件
-
下载地址:https://wwcdn.weixin.qq.com/node/wework/images/sdk_20201116.rar
-
下载以后将解压之后的文件夹里
libWeWorkFinanceSdk_C.so和WeWorkFinanceSdk_C.h复制到php7-wxwork-finance-sdk文件夹中。
3.编译之前准备
- 将SDK文件夹上传至服务器,放在
/usr/local/src下,即完整路径为/usr/local/src/php7-wxwork-finance-sdk - 在终端执行,设置临时变量
PHP_CONFIG="/usr/local/php/bin/php-config"
PHP_WXWORK_FINANCE_SDK="/usr/local/src/php7-wxwork-finance-sdk"
4.开始编译
PHP安装目录根据自己的实际场景修改,我的PHP安装在/usr/local/php
cd /usr/local/src/php7-wxwork-finance-sdk# 生成configure文件
phpize #如果phpize没有设置软连接,需要完整路径执行即/usr/local/php/bin/phize# 开始编译
./configure --with-php-config=$PHP_CONFIG --with-wxwork-finance-sdk=$PHP_WXWORK_FINANCE_SDK# 如果没有报错的话,就可以执行`make && make install`
.......
xwork_finance_sdk.so
creating wxwork_finance_sdk.la
(cd .libs && rm -f wxwork_finance_sdk.la && ln -s ../wxwork_finance_sdk.la wxwork_finance_sdk.la)
/bin/sh /usr/local/src/wxwork-finance/libtool --mode=install cp ./wxwork_finance_sdk.la /usr/local/src/wxwork-finance/modules./.libs/wxwork_finance_sdk.so /usr/local/src/wxwork-finance/modules/wxwork_finance_sdk.so
cp ./.libs/wxwork_finance_sdk.lai /usr/local/src/wxwork-finance/modules/wxwork_finance_sdk.la
PATH="$PATH:/sbin" ldconfig -n /usr/local/src/wxwork-finance/modules
----------------------------------------------------------------------
Libraries have been installed in:/usr/local/src/wxwork-finance/modulesIf you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:- add LIBDIR to the `LD_LIBRARY_PATH' environment variableduring execution- add LIBDIR to the `LD_RUN_PATH' environment variableduring linking- use the `-Wl,--rpath -Wl,LIBDIR' linker flag- have your system administrator add LIBDIR to `/etc/ld.so.conf'See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------Build complete.
Don't forget to run 'make test'.
[root@test php7-wxwork-finance-sdk]# make install
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-zts-20170718/
5.php.ini添加扩展
extension=wxwork_finance_sdk.so
相关文章:
编译企业微信会话内容存档PHP版SDK扩展
1.下载SDK 如果克隆不了,就页面下载 git clone https://github.com/pangdahua/php7-wxwork-finance-sdk2.下载企微官网C版本的最新sdk文件 下载地址:https://wwcdn.weixin.qq.com/node/wework/images/sdk_20201116.rar 下载以后将解压之后的文件夹里l…...
传统算法:使用 Pygame 实现K-Means 聚类算法
使用 Pygame 模块演示了 K-Means 聚类算法的基本原理。让我逐步解释它的实现: 初始化和基本设置 Pygame 初始化: 通过 pygame.init() 初始化 Pygame。 定义颜色和屏幕大小: 定义了一些颜色常量(WHITE, BLACK, RED, GREEN, BLUE)和屏幕的宽度和高度。 创建 Pygame 窗口:…...
WebUI工作流插件超越ComfyUI
在AI绘画领域,Stable Diffsion是最受欢迎的,因为它是开源软件。 开源有两大优势,一是免费,二是适合折腾。 大量的开发者、爱好者投入无尽的热情,来推动Stable Diffsion的快速发展。 在图形界面方面,WebU…...
Docker容器化平台及其优势和应用场景介绍
Docker是一种开源的容器化平台,它基于操作系统级别虚拟化技术,可以将应用程序及其依赖项打包成一个独立的容器,提供轻量级、一致性、可移植性的应用环境。Docker的基本概念和优势如下: 镜像(Image):Docker容器的基础&…...
Hive:从HDFS回收站恢复被删的表
场景 一张手工维护的内部表,本来排查没有使用,然后删掉了,发现又需要使用,只能恢复这张表了。 1.确认HDFS是否开启回收站功能 2.查看回收站中的数据 被删除的数据会放在删除数据时使用的用户目录下,如:使…...
TZOJ 1387 人见人爱A+B
答案: #include <stdio.h> void time(int ah, int am, int as, int bh, int bm, int bs, int* sum_h, int* sum_m, int* sum_s) //不需要返回值所以定义void函数,前面6个为输入,然后用指针存给后面三个 {*sum_s (as bs) % 60; …...
校园圈子系统丨交友丨地图找伴丨二手市场等功能丨源码交付支持二开丨APP小程序H5三端交付!
校园圈子系统是一款专为校园生活设计的智能应用,拥有丰富多样的功能模块,提供全方位的服务。无论您是师生还是校友,我们都为您打造了一个与校园紧密相连的交流平台。 通过校园圈子系统,您可以方便地浏览校内最新动态,包…...
java操作windows系统功能案例(一)
下面是一个Java操作Windows系统功能的简单案例: 获取系统信息: import java.util.Properties;public class SystemInfo {public static void main(String[] args) {Properties properties System.getProperties();properties.list(System.out);} }该程…...
【双向链表的实现】
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 1. 双向链表的结构 2. 双向链表的实现 2.1 头文件 ——双向链表的创建及功能函数的定义 2.2 源文件 ——双向链表的功能函数的实现 2.3 源文件 ——双向链表功能的…...
中台战略思想与架构总结
中台战略思想与架构总结 在2015年年中,马云带领阿里高管,拜访了游戏公司Supercell,以《部落战争》《海岛奇兵》《卡通农场》等游戏知名。 Supercell是一家典型的以小团队模式进行游戏开发的公司,一般来说两个员工,或…...
VUE2+THREE.JS点击事件
THREE.JS点击事件 1.增加监听点击事件2.点击事件实现3.记得关闭页面时 销毁此监听事件 1.增加监听点击事件 renderer.domElement.addEventListener("click", this.onClick, false); 注:初始化render时监听 2.点击事件实现 onClick(event) {const raycaster new …...
基于SSM+SpringBoot+Vue小区车位租赁系统
[技术实现] 小区车位租赁系统是使用SSMSpringBootVue前后端分离的管理系统。使用Spring框架可以在自动注入项目层级之间的调用对象,方便解耦,SpringMVC是体现了MVC设计思想的轻量级web框架,对web层进行解耦,使开发更简洁,MyBatis…...
Oracle(2-8)Configuring the Database Archiving Mode
文章目录 一、基础知识1、Redo Log History2、NOARCHIVELOG Mode 非归档模式3、ARCHIVELOG Mode 归档模式4、Changing the Archiving Mode 更改归档模式5、Auto and Manual Ar…...
制造企业建设数字工厂管理系统的难点主要有哪些
随着科技的飞速发展,制造企业正面临着从传统生产模式向数字化、智能化转型的挑战。其中,建设数字工厂管理系统是实现这一目标的重要途径。然而,在实际操作过程中,制造企业往往会遇到一系列难点。本文将对这些难点进行详细的分析。…...
基于UDP网络聊天室OICQ
Linux系统 Gcc Gdb makefile 实现局域网OICQ程序设计,包括客户端和服务端。 客户端描述:客户端运行开始出现登陆界面。与服务端进行连接,连接后把账号信息发送给服务端,服务端验证后,把确认结果通知客户端。如果通…...
基于STC12C5A60S2系列1T 8051单片机的液晶显示器LCD1602显示整数、小数应用
基于STC12C5A60S2系列1T 8051单片机的液晶显示器LCD1602显示整数、小数应用 STC12C5A60S2系列1T 8051单片机管脚图STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式及配置STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式介绍液晶显示器LCD1602简单介绍IIC通信简单介绍…...
【微信小程序】保存多张图片到本地相册 wx.saveImageToPhotosAlbum
这里写目录标题 微信小程序检测是否有存储权限wx.getSetting 图片上传从HTML中提取img标签的src属性多图片下载 微信小程序检测是否有存储权限 wx.getSetting 上传前判断是否开启存储权限,如果不检测直接上传会出现fail的情况 var _this this wx.getSetting({su…...
【Android】使用intent.putExtra()方法在启动Activity时传递数据
食用方法 在Android中,你可以使用Intent对象来在启动Activity时传递数据。以下是一个示例,展示了如何在startActivity时传递数据到被启动的Activity: 在启动Activity的地方,创建一个Intent对象,并使用putExtra()方法…...
数据结构与算法编程题35
用按层次顺序遍历二叉树的方法,统计树中具有度为1的结点数目。 #define _CRT_SECURE_NO_WARNINGS#include <iostream> using namespace std;typedef char ElemType; #define ERROR 0 #define OK 1 #define Maxsize 100 #define STR_SIZE 1024typedef struct B…...
每日一题 - 231201 - Divisibility by Eight
Divisibility by Eight TAG - 整除特性、枚举 整除特性、枚举 整除特性、枚举时间复杂度 - O ( N 3 ) O(N^3) O(N3) // #include<bits/stdc.h> using namespace std; // #define int long long void solve() {string s;cin>>s;for( int i0;i<s.size();i )if(…...
STM32F407实战:用CubeMX+FreeRTOS+SDIO+FatFs,5分钟搞定SD卡文件读写
STM32F407实战:5分钟极速实现SD卡文件系统全流程 拿到一块STM32F407开发板时,如何快速验证SD卡文件读写功能?这套组合方案或许能帮你省下大量调试时间——CubeMX生成基础框架、FreeRTOS管理任务调度、SDIO硬件接口驱动配合FatFs文件系统&…...
LabVIEW视觉项目效率翻倍:海康相机+OpenCV/NI Vision混合编程实战
LabVIEW视觉项目效率翻倍:海康相机OpenCV/NI Vision混合编程实战 在工业自动化领域,视觉检测系统的开发效率往往决定了产品上市时间。作为一名长期奋战在产线调试一线的工程师,我发现许多同行在使用LabVIEW进行视觉项目开发时,都会…...
请描述在 Linux 系统中如何进行磁盘配额管理。
Linux 系统中,磁盘配额管理用于限制用户或组在特定文件系统上所能使用的磁盘空间(块数量)和文件数量,从而防止个别用户占用过多资源导致系统崩溃或服务中断。 以下是进行磁盘配额管理的详细步骤: 一、 磁盘配额的核心概…...
STM32C8T6+AS608指纹模块实战:从接线到代码调试的全流程避坑指南
STM32C8T6AS608指纹模块实战:从接线到代码调试的全流程避坑指南 指纹识别技术正逐渐渗透到日常生活的各个角落,从手机解锁到门禁系统,这项技术为我们提供了便捷与安全的双重保障。对于嵌入式开发者而言,将指纹识别功能整合到自己的…...
关于sms,voip路由以及smpp
SMS 和 VoIP 路由是国际通讯行业核心技术,用于高效传递短信和语音通话。SMPP 协议则是 SMS 传输的关键标准,帮助运营商和企业实现全球消息互联。SMS 基础知识SMS(Short Message Service,短消息服务)是手机最常见的文本…...
液态神经网络在医疗诊断中的落地案例:如何用LNNs处理动态心电图数据
液态神经网络在医疗诊断中的落地案例:如何用LNNs处理动态心电图数据 当心电图仪器的电极贴片接触患者皮肤的瞬间,那些起伏的波形不仅是心脏跳动的印记,更是一组充满噪声的复杂时间序列数据。传统深度学习模型在处理这类动态生理信号时&#x…...
2026-04随笔记
2026-04-01因为前天工作卡住了,导致昨天没心情研究,一度以为我不适合这个工作,早上的时候回想了一下成功和失败的场景认真做对比细心分析发现一个 LoadBalance的ip没设置,虽然自动获取了,但是helm的其他地方也用了这个…...
实战应用:基于快马平台构建支持实时协作的团队版pencil设计工具
今天想和大家分享一个实战项目:基于InsCode(快马)平台构建团队协作版pencil设计工具的经历。这个工具最终成为了我们产品团队的需求沟通神器,特别适合中小团队快速搭建轻量级设计协作环境。 为什么需要这个工具 我们团队经常遇到设计稿反复修改、版本混乱…...
实战指南:基于快马AI生成贴合业务场景的问卷系统,超越通用opencode
在开发一个在线问卷调查系统时,很多开发者会直接使用现成的opencode或开源组件。但实际业务中,通用方案往往难以完全匹配特定需求。最近我在InsCode(快马)平台上尝试了一个实战项目,通过AI生成高度定制化的问卷系统后台API,效果远…...
【后端】主流后端语言横向对比:JAVA、C、C++、GO、PYTHON的实战应用与选型指南
1. 五种主流后端语言的核心特性对比 第一次接触后端开发时,面对众多编程语言的选择确实容易犯难。我至今记得2013年参与电商系统重构时,团队为选择Java还是Go争论了两周。这五种语言就像不同的工具——没有绝对的好坏,关键要看用在什么场景。…...
