管理员 发布的文章

51CTO璞2022-09-21 15:10:25博主文章分类:微擎
文章标签php缓存公众号文章分类后端开发阅读数293

**通过对微擎的简单使用及了解,相信很多小伙伴发现官方文档、网上的视频 对自己二次开发微擎或者想深层次了解微擎帮助渐小了。
我当时工作涉及到二次开发的时候也很迷茫,于是开始简单粗略的看了下微擎框架,现将所知分享于大家。**
1.
2.
首先贴出微擎根目录各文件夹、文件的大致含义(写的有点乱,仔细看还是能看懂的,O(∩_∩)O):

新手微擎(微赞)学习之路二 --- 框架整体认知_缓存
1.png

data 文件夹内 config.php文件是数据库配置、cookie、上传等配置文件。

本人做微擎开发较多的是——模块开发和微擎框架的改造,因此与addons目录,attachment目录,web目录,framework目录打交道较多。先将微擎的核心说一下吧~新老版本有所变动,但核心文件还是这些,变化不大。framework

├─ framework
│ ├─ builtin ……………………………………【微擎内建模块,我基本没用过】
│ │ ├─ basic 文字回复模块
│ │ ├─ core 会话消息统计
│ │ ├─ cover 通用封面回复
│ │ ├─ default 默认回复模块
│ │ ├─ music 音乐回复模块
│ │ ├─ news 图文回复模块
│ │ ├─ userapi 自定义接口回复模块(此处的模块目录结构和addons区别不大)
│ │ │ ├─ api 功能文件目录
│ │ │ │ ├─ baike.php 百科
│ │ │ │ ├─ calendar.php 万年历
│ │ │ │ ├─ express.php 快递
│ │ │ │ ├─ news.php 新闻
│ │ │ │ ├─ translate.php 翻译
│ │ │ │ ├─ weather.php 天气
│ │ │ │ └─ … 可模仿其他文件做扩展
│ │ └─ … .
│ ├─ class ………………………………………… 工具类(可以在里面加自己定义的函类文件,比较常用)
│ │ ├─ loader.class.php 文件加载器
│ │ ├─ db.class.php 数据库操作类
│ │ ├─ account.class.php 公众号业务操作基类
│ │ ├─ weixin.account.class.php 微信公众号业务操作(微信开发文档中的接口,都在此被封装为了函数 例如:数据统计、消息群发、素材上传发送等等)
│ │ ├─ yixin.account.class.php 易信
│ │ └─ … .
│ ├─ function …………………………………… 工具函数(可以在里面加自己定义的函数,比较常用)
│ │ ├─ global.func.php 全局通用函数
│ │ ├─ cache.file.func.php 文件缓存
│ │ ├─ cache.func.php 缓存功能
│ │ ├─ cache.memcache.func.php 插件缓存
│ │ ├─ cache.mysql.func.php mysql缓存
│ │ ├─ communication.func.php http 通信(ihttp_request函数等)
│ │ ├─ compat.biz.func.php 兼容函数(业务功能)
│ │ ├─ compat.func.php 兼容函数(逻辑功能)
│ │ ├─ file.func.php 文件操作
│ │ ├─ logging.func.php 日志记录
│ │ ├─ pdo.func.php 数据库访问操作
│ │ ├─ db.func.php 数据库信息相关操作
│ │ └─ tpl.func.php 自定义模板控件
│ ├─ library ……………………………………… 其他函数库
│ ├─ model ………………………………………… 业务功能模块(主要是微擎框架本身来调用,一般用不到)
│ │ ├─ account.mod.php 公众号相关操作
│ │ ├─ activity.mod.php 营销活动
│ │ ├─ app.mod.php APP 端相关操作
│ │ ├─ cache.mod.php 缓存
│ │ ├─ cloud.mod.php 云服务
│ │ ├─ extension.mod.php 扩展功能
│ │ ├─ mc.mod.php 会员功能
│ │ ├─ module.mod.php 公众号
│ │ ├─ payment.mod.php 支付功能
│ │ ├─ reply.mod.php 规则回复
│ │ ├─ setting.mod.php 读写系统设置缓存
│ │ ├─ user.mod.php 操作用户
│ │ └─ utility.mod.php
│ ├─ bootstrap.inc.php 核心文件
│ ├─ const.inc.php 全局常量定义文件
│ └─ version.inc.php 版本号 信息定义文件
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
此处多说一下bootstrap.inc.php 文件:​​$_W、$_GPC​​​数组数据收集就是从这开始的 。还有个常用的:53行代码:​​define('DEVELOPMENT', $_W'config'['development'] == 1);​​​ 改为0,就是开发者模式。
有时出错,页面出现空白, 此处改为开发者模式的话,就会出现报错信息了。
此文件中也有常量、路径等定义。

(仅为个人理解,观点不一定正确,如有错误,敬请指正!)

还有一些公用的方法在web/common 文件夹内
2.png
新手微擎(微赞)学习之路二 --- 框架整体认知_php_02

微擎封装好的message、url、checklogin、checkaccount、buildframes等方法在common.fun.php文件内.

封装的tpl_* 函数,比如上传图片、富文本编辑器。。。函数在tpl.func.php文件内.

微擎的框架信息文件为 frames.inc.php.

关于Linux下s、t、i、a权限
分类:2012-08-16 16:19:35
原文地址:关于Linux下s、t、i、a权限 作者:wdrain

文件权限除了r、w、x外还有s、t、i、a权限:

s:文件属主和组设置SUID和GUID,文件在被设置了s权限后将以root身份执行。在设置s权限时文件属主、属组必须先设置相应的x权限,否则s权限并不能正真生效(c h m o d命令不进行必要的完整性检查,即使不设置x权限就设置s权限,chmod也不会报错,当我们ls -l时看到rwS,大写S说明s权限未生效)。Linux修改密码的passwd便是个设置了SUID的程序,普通用户无读写/etc/shadow文件的权限确可以修改自己的密码。

ls -al /usr/bin/passwd
-rwsr-xr-x 1 root root 32988 2008-12-08 17:17 /usr/bin/passwd

我们可以通过字符模式设置s权限:chmod a+s filename,也可以使用绝对模式进行设置:

设置s u i d:将相应的权限位之前的那一位设置为4;
设置g u i d:将相应的权限位之前的那一位设置为2;
两者都置位:将相应的权限位之前的那一位设置为4+2=6。

如:chmod 4764 filename //设置SUID

t :设置粘着位,一个文件可读写的用户并一定相让他有删除此文件的权限,如果文件设置了t权限则只用属主和root有删除文件的权限,通过chmod +t filename 来设置t权限。

i:不可修改权限 例:chattr u+i filename 则filename文件就不可修改,无论任何人,如果需要修改需要先删除i权限,用chattr -i filename就可以了。查看文件是否设置了i权限用lsattr filename。

a:只追加权限, 对于日志系统很好用,这个权限让目标文件只能追加,不能删除,而且不能通过编辑器追加。可以使用chattr +a设置追加权限。

微擎 微赞等系统源码模块若干问题解决方法及说明汇总

从其他社区搬过来的,各位不错吧的朋友们凑合看看。

近期关于各种微擎微赞等新手问题越来越多,疲于应付,在此整理集结成帖,以方便新手朋友查阅及解决问题,其实大多问题在本版块是可以找的到的!

申明:由于微擎微赞等功能模块众多且各版本升级更新频繁,我们不能保证当前所提供的版本没有BUG,如您介意请勿下载!

关于xmlns:

功能模块不显示模块,在相对应的平台下请修改 manifest.xml 文件第二行xmlns所对应的地址:

如果需要放到微赞里使用,修改如下

如果需要放到微擎里使用,修改如下

关于本站xmlns地址:www.bcb5.com

关于修改xmlns网址文件路径:frameworkmodelextension.mod.php

关于模块的安装:上传模块至 addons 目录下,后台-系统-模块-安装模块

关于微擎微赞数据库报错,缺表跟缺少字段的解决方法新手说明

微擎微赞中很多盗版模块经常出现以下问题:

  提示是Table 数据库名(本图是tiaoshi3) 表名(本图是ims_artcle_case) doesn’t exist

翻译成人话就是在这个数据库中这个数据表不存在。

如果是模块出错,而且你的模块里有install.php的话,恭喜你,这个问题很好解决,打开install.php,找到对应的数据表,复制出来对应的那一段语句,然后扔到系统-数据库-SQL里执行一下或者直接在数据库里执行一下就可以了。

如果是系统相关联的表缺失,要么就是升级的时候数据库升级出了问题,要么就是本身系统就是残缺不全的。这个时候只能是找人帮忙导出正常的的表,然后再导入你的数据库。

还有这样的问题:

  提示是数据表ims_account_wechats出错

Unknown column ‘jsapi_ticket’in ‘field list翻译成人话就是在ims_account_wechats这个表中缺少jsapi_ticket这个字段。

本着缺啥补啥的精神,我们要来看一看如何正确地补上这个字段

语句很简单

alter table 表名 add 字段名 数据类型 默认值

示例的解决方法

alter table ims_account_wechats add jsapi_ticket varchar(32) DEFAULT NULL

其实对应着错误,把表名和缺的字段名填写上去就行,默认值也就写DEFAULT NULL就可以,唯一麻烦的就是这个数据类型了。如果有人告诉你,这个字段的数据类型是什么,那就直接写上,如果实在确定不了,建议选用varchar这个字符类型,上面示例解决方法里就是varchar(32),表示可以存储32个字符,这个值自己写吧,最大支持255。

然后扔到系统-数据库-SQL里执行一下或者直接在数据库里执行一下就可以了。

关于微擎,微赞助出现 “您的模块来自非法渠道 系统已对您的站点进行记录” 提示的解决方法

解决更新后微擎微赞发生错误:您的模块来自非法渠道,系统已对您的站点进行记录,请及时更新正版模块,如有疑问请联系客服

修改:frameworkmodelcloud.mod.php第417行左右。

//if (!is_error($ret) && is_array($ret) && !empty($ret)) {

//if ($ret[’state’] == ’fatal’) {

//return error($ret[\’errorno\’], \’发生错误: \’ . $ret[’message’]);

//}

// return $ret;

//} else {

//return error(-1, “发生错误: {$ret[’message’]}”);

//}

这样注释即可。

关于使用自定义菜单等接口类功能出现“SSL connect error”的错误原因及解决方案

这种情况很少出现,但是出现了很难排查,因为环境检测结果就是curl、openssl都开启了,为什么还是不行呢?

通过技术人员耐心的排查发现是CURL中SSL的版本太低,不支持CURL_SSLVERSION_TLSv1(此协义是腾讯公众平台要求必须支持的)导致的。

修复方法:

1、如果是虚机或云主机,需要联系服务器提供商

2、如果自己能够远程管理

1)centos、redhat等主流linux环境的话,可以执行:yum update nss

2)如果使用的是wdcp:yum -y update nss

3)archlinux是:sudo pacman -S nss

4)windows的:[url=]参考[/url]

正确结果:

  微擎各版本去除手机页面 Powered by 的文件位置说明

微擎商业版及免费版本去除 Powered by 字样文件位置如下:

webthemesdefaultaccountwelcome.html

webthemesdefaultcommonfooter-base.html

webthemesdefaultcommonfooter-gw.html

webthemesdefaultcommonheader-base.html

webthemesdefaultuserlogin.html

webthemesdefaultuserregister.html

手机页面文件地址如下:

appthemesdefaultcommonheader.html

php开启openssl的方法易福源码论坛,易福网,微信小程序,小程序源码,源码网,微赞,免费源码,PHP源码-微信小程序源码PHP开发,微擎微赞小程序模块 - Powered by Discuz!

电梯直达
楼主
发表于 2016-5-12 11:39:40 | 只看该作者 |倒序浏览 |阅读模式

使用微赞必须开启OPENSS,不然部分功能无法使用。
php开启openssl的方法,大多数情况下openssl是没有开启的,要想启用需要进行下简单的设置:
windows下开启方法:
1: 首先检查php.ini中;extension=php_openssl.dll是否存在, 如果存在的话去掉前面的注释符‘;’2: 重启apache或者iis
至此,openssl功能就开启了。

如何解决近期微赞或微擎有些模块提示不是官方安装的解决办法易福源码论坛,易福网,微信小程序,小程序源码,源码网,微赞,免费源码,PHP源码-微信小程序源码PHP开发,微擎微赞小程序模块 - Powered by Discuz!

电梯直达
楼主
发表于 2016-9-1 21:53:02 | 只看该作者 |倒序浏览 |阅读模式

如何解决近期微赞或微擎有些模块提示不是官方安装的解决办法

“警告1!您使用的插件不是微赞官方安装的,请移步微赞论坛”

“警告2!您使用的插件不是微赞官方安装的,请移步微赞论坛”

出现这样的提示,请按以下方式进行解决:

如果是微赞,请按如下方法:

此方法适用于服务器:

windows服务器,

找到 C:WindowsSystem32driversetcHOSTS 这个文件 ,用记事本打开, 在最后面添加一行如下

127.0.0.1 addons.weizancms.com

*保存不了的说明没有写入权限, 给写入权限就行了

linux服务器:
找到 /etc/hosts 这个文件 ,
用记事本打开, 在最后面添加一行如下

127.0.0.1 addons.weizancms.com

如果用的是虚拟主机, 需要联系您的主机商给设置下了

如果是微擎,可以尝试如下方式:

此方法适用于服务器:

windows服务器,
找到 C:WindowsSystem32driversetcHOSTS 这个文件 ,用记事本打开, 在最后面添加一行如下

127.0.0.1 v2.addons.we7.cc
*保存不了的说明没有写入权限, 给写入权限就行了

linux服务器:
找到 /etc/hosts 这个文件 ,
用记事本打开, 在最后面添加一行如下

127.0.0.1 v2.addons.we7.cc

如果用的是虚拟主机, 需要联系您的主机商给设置下了。
特别说明:如果是微擎系统用了微赞的模块,请按照微赞的设置添加