阿里云logtail采集容器内日志到sls导致容器内存增加 nginx容器接入logtail后,因为服务请求量较大导致日志量快速增加,很快就触发了内存告警.nginx使用内存并不多,而大部分内存是被pagecache占用。因为logtail会读文件,文件会占用pagecache,这时候系统释放是比较慵懒的,所以pagecache越用越多,这部分内存随时都可以释放,但是在容器里,这是不合理的
k8s下php定时任务接入阿里云SchedulerX 背景php上阿里云ack(k8s)后,想保留原来定时任务,但是又需要保持单点运行,所以考虑使用阿里云SchedulerX来方便管理。官方文档如下:虽然官方文档显示可以用Sidecar方式接入,但是实际并非进入到目标容器执行,仅能执行http请求到目标容器。实现使用agent方式接入,直接打包入php镜像,缺点就是需要java运行环境,镜像会很大并且占用运行内存。建议有定时任务需求才使用此镜像。链接地址:https://help.aliyun.com/document_detail/149969
nginx vue前后端分离配置示例 vue + thinkphpvue为history路由模式,固定/api,/static前缀为php使用server { listen 80; server_name localhost; set $static_root ''; # web目录 set $php_root ''; # php目录 root $static_root; index index.html index.htm index.php; location ~ \.php$ {
Hexo-Anatolo主题添加gitalk评论系统 一开始准备使用gitment作为评论系统,但是搭完发现已经不可用,随后找到了差不多的gitalkgitalk已经有很多主题集成,但是很遗憾我使用的Anatolo还没有,尝试了下还算简单,现在把大概步骤写一下相关地址Anatolo主题:https://github.com/Ben02/hexo-theme-Anatolegitalk评论:https://github.com/gitalk/gitalkmd5:https://github.com/blueimp/JavaScript-MD5 (iss
webhook触发jenkins进行sonar检测 目的jenkins仅需创建一个job,git推送后自动进行sonar代码检测并上传到sonarqubejenkins插件已按社区推荐安装基本插件Generic Webhook TriggerSonarQube Scanner准备工作sonar生成令牌登录后右上角点击"头像 > 我的账号 > 安全"生成令牌并复制保存将令牌添加到jenkins凭证中 “系统管理 > 管理凭证 > 添加凭证”类型选择Secret text令牌粘
php getenv无法获取环境变量 现象php在nginx+fpm模式下getenv()方法获取到的内容与cli模式下不同举例shell下输出HOSTNAMEnginx+fpm无法获取HOSTNAME环境变量php cli模式下输出原因nginx+fpm下环境变量通过nginx的fastcgi传递,所有环境变量需要在nginx配置文件下的fastcgi_params文件指定解决增加fastcgi_...
rabbitmq-channel断网后没有断开情况记录 现象队列中一直有unacked数据复现监听队列,使用不自动应答模式,拿到消息不应答,断开网络,关闭进程rabbitmq中channel一直存在,state为idle状态只能强制手动关闭连接疑问rabbitmq对于tcp连接断开的心跳时间?默认30分钟,根据rabbitmq.conf中consumer_timeout确定如何处理网络异常断开的unacked消息?等待连...
mac pecl安装swoole失败:fatal error: ‘openssl/ssl.h‘ file not found mac下使用brew安装arm版php7.2,pecl命令安装swoole命令:pecl install swoole发生如下报错/private/tmp/pear/temp/swoole/ext-src/php_swoole_private.h:84:2: error: "Enable openssl support, require openssl library"#error "E...
tp6动态连接数据库 使用场景tp6连接除database.php配置外的数据库(临时数据库等)使用方式//use think\facade\Config;$config = Config::get('database');$config['connections']['tmp'] = [ 'type' => 'mysql', 'hostname' => ...
tp5.0升级tp6.0遇到的问题总结 概述tp5.0 -> tp5.1 -> tp6.0 都有较大改动,虽然有官方的升级指导文件但是也没有覆盖所有情况本次升级的过程也是作为一次尝试,以下问题仅是本人在升级项目中遇到,未包括所有情况如果不是必要情况,强烈不推荐升级遇到的问题路由参数绑定不再支持按照名称成对解析(url_param_type)本项可直接查看此链接model不再支持get()/all(...
php 处理tp5升级到tp6时,url参数无法按顺序解析(url_param_type) 背景原项目使用tp5多应用模式,未使用强制路由,且url参数是按照顺序解析url_param_type = 1想尝试能不能从tp5升级到tp6,虽然有官方升级文档,但tp6的url参数方式只能按照名称成对解析,无法满足需求,于是看了下源码看看能不能处理示例tp5原模式顺序参数模式(config.php文件中设置'url_param_type' => 1)文件路径:applic...
PHP性能分析之xdebug+webgrind Xdebug是一个开放源代码的PHP程序调试器,可以用来跟踪,调试和分析PHP程序的运行状况。这里仅说明用来对php运行状态的使用说明。xdebug安装运行php -m查看是否已安装xdebug扩展,已安装则跳过当前步骤源码地址:https://github.com/xdebug/xdebug编译完成后编辑php.ini文件,添加如下; 引入xdebug扩展extension...
PHP使用satis搭建私有Composer仓库 适用于公司内部进行包管理,在组件化、服务化场景下部分业务代码不方便放到开源平台,可使用内部git服务器,配合composer/satis项目搭建私有composer处理内部依赖,优化代码结构,统一依赖环境系统:windows 10php版本:7.2.17(当前satis要求^7.2.9)git服务:gitlab示例项目: aichenk/open-c...
解决php使用ZipArchive解压时中文乱码问题 使用php自带的ZipArchive来解压带中文文件名压缩包时会造成乱码,现象如下:原结构: 解压代码:$zip = new \ZipArchive();$res = $zip->open('./钱学森班.zip');if ($res !== true){ throw new \Exception('打开压缩包失败');}$zip->extractTo('....
php tp6 路由匹配参数获取问题 tp6是一个封装度很高的框架,在大部分场景下都能做到开箱即用本次遇到情况为,当请求消息体为索引数组时,路由参数无法正常获取首先看正常路由匹配路由定义Route::post('test/:a/:b', 'index/test');Index控制器输出参数public function test($a, $b){ echo 'a:', $a, PHP_EOL; echo '...
php tp6 路由匹配参数获取问题 tp6是一个封装度很高的框架,在大部分场景下都能做到开箱即用本次遇到情况为,当请求消息体为索引数组时,路由参数无法正常获取首先看正常路由匹配路由定义Route::post('test/:a/:b', 'index/test');Index控制器输出参数public function test($a, $b){ echo 'a:', $a, PHP_EOL; echo '...
php tp6 路由匹配参数获取问题 tp6是一个封装度很高的框架,在大部分场景下都能做到开箱即用本次遇到情况为,当请求消息体为索引数组时,路由参数无法正常获取首先看正常路由匹配路由定义Route::post('test/:a/:b', 'index/test');Index控制器输出参数public function test($a, $b){ echo 'a:', $a, PHP_EOL; echo '...
同域名前后端分离项目 nginx配置实践 新项目采用前后端分离的方式开发,前后端代码打算分开部署(同机器且同域名),但打算支持后端依然可访问静态资源(nginx配置仅一份)。搜索nginx配置大部分都通过url前缀进行转发来做前后端分离,不适用目前项目。说明前端框架:vue后端框架:thinkphp6前端部署目录:/www/project_static后端部署目录:/www/projectnginx配置方式`api`及...