php使用swoole框架静态变量,全局变量并发安全问题

 我们在首次使用 Swoole 框架时候发现有三类变量问题需要主要,问题的主要造成因素应该是 Swoole 常驻内容变量内存共享导致的主要有一下三类使用 global 关键词声明的变量使用 static 关键词声明的类静态变量、函数静态变量PHP的超全局变量,包括$_GET,$_POST,$GLOBALS等 这三种类型的变量在 Swoole 模式下都存在并发安全问题Swoole 变量问题 A,B,C三人依次访问设置变量分别为1,2,3程序返回时分别对A,B,C三人的请求进行延迟3,2,1秒按照正常逻辑来看A,B,C三人访问设置的1,2,3那么对应返回的值就是设置的值,但是通过使用swoole发现三人返回的结果为最后一个人设置的值也就是3这种情况就是我们刚才所说的三类变量问题Swoole 全局变量 Global 问题演示 // 数据混乱演示 public function index() { // 并发安全问题,会出现数据混乱 // 第一次访问 http://192.168.100.103:8088/Context/index?i=1 ...

PHP,解决方案 2021-09-11 AM 736次 0条

php安装使用swoole框架yasd调试debug扩展

Yasd 扩展是 Swoole 官方开发的,一款实时单步骤 Debug 调试工具,可用于断点调试 Swoole 协程环境,支持 IDE 以及 命令行 的实时程序调试。Yasd 官方仓库github : https://github.com/swoole/yasdYasd 官方中文文档github : https://github.com/swoole/yasd/blob/master/README-CN.mdMacOS系统安装boost库brew install boostUbuntu系统安装boost库apt-get install libboost-all-devCentOS系统安装boost库yum install boost boost-devel安装 Swoole 官方Yasd调试扩展 分别有一下有两种安装方式 编译安装 , 直接安装编译 好的 so 文件推荐直接安装编译好的简单,安装速度快。编译安装 Swoole 官方 Yasd调试扩展git clone https://gitee.com/laiwi/yasd.git cd yasdphpize --clean &&...

PHP,软件工具,Linux,解决方案 2021-09-11 AM 1632次 1条

使用jenkins自动化构建gitee项目到远程服务器

jenkins 自动化部署 gitee 依赖项首先请确保 Jenkins 已经正确安装安装 Jenkins 插件 Publish Over SSH (本机构建则不需要安装,主要用于连接远程SSH)使用 jenkins 安装 Publish Over SSH 插件进入主页面点击左侧系统管理项进入管理 Jenkins 页面点击插件管理搜索 Publish Over SSH勾选安装项,点击底部安装并重启 jenkins 即可 Install without restart 配置Publish Over SSH 插件远程SSH地址进入主页面点击左侧系统管理项进入管理 Jenkins 页面点击进入 Jenkins 系统配置拉到底部可以看到有一个 Publish over SSH 项 (如果没有重启后进入刷新页面)配置 Publish over SSH SSH 相关参数使用 jenkins 构建自动化任务进入主页面 jenkins 控制台面板点击左侧 新建任务 选择构建一个自由风格的软件项目我这里使用 gitee 做测试 其他git仓库原理一样(gitee需要安装gitee 官方插件)选...

软件工具,Linux,解决方案 2021-09-10 AM 547次 0条

强制刷新jsdelivr缓存

 众所周知 jsdelivr 是一个免费好用的开源CDN,可以帮助我们加速一些静态资源如js,css,img等使用 jsdelivr 可以大大降低我们的资源成本,并能加速资源访问,节约服务器开销。刷新 jsdelivr 静态资源缓存 我们只需要把相关链接地址cdn替换为purge即可强制实时刷新 jsdelivr 缓存https://cdn.jsdelivr.net/替换为https://purge.jsdelivr.net/测试强制刷新 jsdelivr 缓存 测试 jsdelivr 链接地址,页面返回 json 中状态 status 为 finished 即为刷新缓存成功// https://purge.jsdelivr.net/gh/laiwi/Attachment@latest/usr/uploads/2021/08/2865017580.png { "id": "7OXQGbeywo6xlpyR", "status": "finished", "timestamp": "2021-09-08T14:04:54.338Z", "paths": { ...

前端,解决方案,其他 2021-09-09 PM 1368次 0条

最新破解宝塔面板(bt)网站监控报表

 老马接着上一章讲,上一章我们讲了 宝塔面板(bt)破解付费软件立即购买 本文我们讲一下怎么破解 宝塔面板 网站监控报表 应用,网站监控报表 是一款很好用并强大的官方出品 网站统计 工具,但是需要购买才能使用这就很不爽了,就算是通过 宝塔面板(bt)破解付费软件立即购买 依然破解不了内置的购买检测,本文本着学习的目的尝试破解下 付费应用 跳过 付费检测 直接使用,注意本文测试宝塔安装版本为最新版本 宝塔7.7.0 如有需要哪些软件请 支持正版 购买。 注意本次测试环境均在本地虚拟机搭建的测试环境未用于正式生产,测试学习完成之后立即销毁首先先安装 网站监控报表 应用 在宝塔面板里面找到应用商店搜索 网站监控报表 点击进行安装如果提示 立即购买 请参考 宝塔面板(bt)破解付费软件立即购买 进行破解跳过购买选项然后我们找到宝塔面板 /www/server/panel/plugin/total/ 目录 total_main.py 文件我们进行编辑破解当前 网站监控报表 应用 首先我们在 total_main.py 文件搜索下一下特定代码if cache.get('bt_total...

软件工具,Linux,解决方案,其他 2021-09-08 AM 2327次 0条

解決Centos7本机获取不到IP

 每当在虚拟机里面或者主机里面兴致勃勃的安装完 centos7 之后,总是因为频频获取不到ip和网络不通的问题而烦恼,基本上每次安装完之后都会时不时出现这种问题, Centos7 UI端还好有界面好处理,特别是命令行模式时特别难受手足无措不知道怎么解决 Centos7 获取不到IP没有网络问题,本文老马将记录解决这个问题的正确方法以供参考 首先我们通过以下命令查看是否获取到ip地址如果获取到了请忽略以下文章,如果获取不到请接着往下看Centos7 查看ip网卡情况ip add 如果此处没有显示IP或者网络ping不通则是因为网卡问题获取不到IP地址进入 Centos7 网卡配置目录并查看cd etc/sysconfig/network-scripts/ // 网卡目录 ls // 查看编辑ens33网卡配置项 我这里用的是ens33网卡 vi ifcfg-ens33修改ens33配置项并开启网卡找到 insert 键 按一下然后方向键移动位置编辑按 esc 退出编辑 然后输入 wq 保存退出 ONBOOT=yes关闭 NetworkManager 命令 systemctl...

Linux,解决方案 2021-09-06 PM 971次 0条

解决github无法访问的几种有效的加速方法

 因为工作需要导致频繁要访问 github 仓库,奈何城墙太高导致国内网络频频访问不到 github ,下面就总结下经过老马尝试无数而得到的加速访问 github 仓库的几种方法,有效的解决了 访问github慢 ,访问不到,下载不了等等各种问题github加速方案一-免费jsproxy代理 可以使用自建免费js代理 jsproxy 访问 https://jsproxy.52f.workers.dev/使用方法直接访问 https://jsproxy.52f.workers.dev/ 输入 github 地址进行访问下载通过地址后面追加访问 github 地址进行访问下载https://jsproxy.52f.workers.dev/https://github.comgithub加速方案二-第三方加速镜像站 通过第三方 github 镜像站进行加速访问使用方法镜像站 https://github.com.cnpmjs.org镜像站 https://hub.fastgit.orggit clone https://hub.fastgit.org/xxxx/xxxxgithub...

解决方案,其他 2021-09-03 PM 2850次 0条

typecho怎么开启debug调试模式

 首先我们找到 typecho 根目录 config.inc.php 文件 然后在里面加上开启调试代码即可typecho开启debug模式define('__TYPECHO_DEBUG__', true); OK typecho开启debug调试模式 完成了,就这么简单...

PHP,解决方案 2021-09-03 PM 1399次 0条

解决百度站点管理无权访问该页面

 有一天博主在 百度站长平台 , 站点管理 里面添加新的网站时候突然间提示: 你无权访问该页面,点击确定按钮返回首页 如图所示:您无权访问该页面,点击确定按钮返回首页 博主就觉得特别奇怪,因为之前添加了很多个网站都没有问题,并且尝试更换不同的帐号多次添加依然不行,最后没办法百度搜了一下,也有很多朋友遇到过这种问题,很多文章都说是自己的账号问题,但是事实并不是,我分别进行的一下尝试:更换之前的其他帐号重新注册帐号尝试添加隔一天后尝试添加清理重新关机尝试 通过以上尝试发现并没有任何用处解决您无权访问该页面,点击确定按钮返回首页 最后博主本着求人不如求己的心态去尝试联系了下百度的24小时客服 可以看到百度提供了一下解决方案[添加网站时无权限]建议您清缓存/cookie尝试一下,如还是无法解决,请在反馈中心提交反馈。相关问题推荐:如何添加站点如何添加二级域名 看到这里我大致明白了可能更缓存和cookie有关系,有可能百度把权限相关的信息存到本地导致的,那问题来了为什么清理了,重启了还是没用呢。其他小朋友可以尝试下清理浏览器缓存,最后一想干脆直接用浏览器的隐私模式(ctrl+n)打开隐私模...

解决方案,其他 2021-09-01 AM 893次 0条

typecho-joe自带编辑器图文解释

 使用 typecho 搭建博客时使用 joe主题 其中自带的 markdown编辑器 非常好用但是奈何全都是图标一眼看上去都不知道干什么用的很是苦恼 因为经常使用 joe主题 自带的 markdown编辑器 为了方便书写特此搜集到了详细的 typecho 博客 joe主题 自带 markdown编辑器 功能详细解释 有了joe主题 自带 markdown编辑器 功能详细解释 写作起来更方便了一目了然

软件工具,解决方案,其他 2021-08-06 PM 928次 0条