![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
php
文章平均质量分 88
白菜1031
欢迎关注公号【全栈札记】
展开
-
编译安装 PHP7.4 环境,并将 php-fpm 添加到 systemctl 系统服务管理
编译安装 PHP7.4 环境,并将 php-fpm 添加到 systemctl 系统服务管理编译安装PHP1. 下载源码包wget http://be2.php.net/get/php-7.4.15.tar.gz/from/this/mirror -O php-7.4.15.tar.gz2. 解压源码包并进入源码包目录tar -zxvf php-7.4.15.tar.gzcd php-7.4.15/3. 安装PHP编译安装所必须的软件yum -y install gcc gcc++ li原创 2021-08-19 21:50:45 · 7191 阅读 · 0 评论 -
Elasticsearch7.X 及 IK 中文分词插件安装
Elasticsearch7.X 及 IK 中文分词插件安装一、安装Java并配置 JAVA_HOME 环境变量由于Elasticsearch是使用Java构建的,所以首先需要安装 Java 8 或更高版本 才能运行。所有Elasticsearch节点和客户机上都应该使用相同的JVM版本。1. 安装Java根据不同的系统,从 https://www.oracle.com/technetwork/java/javase/downloads/index.html 下载相应Java版本进行安装。原创 2021-01-17 20:45:07 · 1074 阅读 · 0 评论 -
Linux用户和用户组管理
Linux用户和用户组管理一、用户信息存储文件1. /etc/passwd 存储当前系统中所有用户的信息文件内容格式用户名**:密码占位符:用户ID:用户组ID:用户注释信息:用户家目录????*shell类型信息之间以 : 分隔实例[root/etc]# cat /etc/passwdroot:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologinsync:x:5:0:sync:/sbin:/bin/syncmail:原创 2021-01-16 16:15:14 · 378 阅读 · 0 评论 -
MySQL基础知识点整理 - 事务、隔离级别、死锁
MySQL基础知识点整理 - 事务、隔离级别、死锁一、简介1. 什么是事务事务就是一组原子性的SQL查询,或者说一个独立的工作单元。如果数据库引擎能够成功地对数据库应用该组查询的全部语句,那么就执行该组查询。如果其中有任何一条语句因为崩溃或其他原因无法执行,那么所有的语句都不会执行。也就是说,事务内的语句,要么全部执行成功,要么全部执行失败。在整个过程中,无论事务是否成功完成,总能确保数据的完整性。2. 如何使用事务银行应用是解释事务必要性的一个经典例子。假设一个银行的数据库有两张表:支票(ch原创 2021-01-16 11:14:39 · 297 阅读 · 0 评论 -
MySQL基础知识点整理 - 数据类型和数据表管理
MySQL基础知识点整理 - 数据类型和数据表管理〇、数据类型1. 数值数据类型数值数据类型存储数值。MySQL支持多种数值数据类型,每种存储的数值具有不同的取值范围。整数类型大小范围(有符号)范围(无符号)TINYINT1 字节(-128,127)(0,255)SMALLINT2 字节(-32768,32767)(0,65535)MEDIUMINT3 字节(-8388608,8388607)(0,16777215)INT或INTEGE原创 2021-01-16 11:12:50 · 356 阅读 · 0 评论 -
MySQL基础知识点整理 - 存储引擎
MySQL基础知识点整理 - 存储引擎0. 查看 MySQL 支持的存储引擎可以在 mysql 客户端中,使用 show engines; 命令可以查看MySQL支持的引擎:mysql> show engines;+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+| Engine原创 2021-01-16 10:50:46 · 119 阅读 · 0 评论 -
MySQL基础知识点整理 - 账号和权限管理
MySQL基础知识点整理 - 账号和权限管理一、账号管理1. 查看账号列表MySQL用户账号和信息存储在名为 mysql 的数据库中。一般不需要直接访问 mysql 数据库和表,但有时需要直接访问。例如,查看数据库所有用户账号列表时。语法USE mysql;SELECT DISTINCT(`user`) FROM user;数据库 mysql 有一个名为 user 的表,它包含所有用户账号。 user 表有一个名为 user 的字段,它存储账号名。进入数据库 mysql,查看 user原创 2021-01-16 10:48:21 · 1632 阅读 · 1 评论 -
MySQL索引有哪些分类,你真的清楚吗?
MySQL索引有哪些分类,你真的清楚吗?〇、MySQL索引都有哪些分类?按数据结构分类可分为:B+tree索引、Hash索引、Full-text索引。按物理存储分类可分为:聚簇索引、二级索引(辅助索引)。按字段特性分类可分为:主键索引、普通索引、前缀索引。按字段个数分类可分为:单列索引、联合索引(复合索引、组合索引)。一、按数据结构分类MySQL索引按数据结构分类可分为:B+tree索引、Hash索引、Full-text索引。-InnoDBMyISAMMemoryB原创 2021-01-16 10:35:30 · 852 阅读 · 0 评论 -
MySQL的多版本并发控制(MVCC)是什么?
MySQL的多版本并发控制(MVCC)是什么?一、什么是多版本并发控制多版本并发控制技术的英文全称是 Multiversion Concurrency Control,简称 MVCC。多版本并发控制(MVCC) 是通过保存数据在某个时间点的快照来实现并发控制的。也就是说,不管事务执行多长时间,事务内部看到的数据是不受其它事务影响的,根据事务开始的时间不同,每个事务对同一张表,同一时刻看到的数据可能是不一样的。简单来说,多版本并发控制 的思想就是保存数据的历史版本,通过对数据行的多个版本管理来实现数原创 2021-01-16 10:30:09 · 459 阅读 · 0 评论 -
MongoDB学习笔记(3)- Mongo Shell 常用查询命令
MongoDB学习笔记(3)- Mongo Shell 常用查询命令本文所使用的MongoDB版本为 4.0.10> db.version();4.0.10一、find 命令进行简查询find( 查询条件 ,返回的字段), 1. 查询时返回所有字段db.user.find() --> 查询user集合中所有的数据> db.user.find(){ "_id" : ObjectId("5d2f0a4714077ad0dab139c5"), "username"原创 2021-01-16 10:23:53 · 1899 阅读 · 0 评论 -
MongoDB学习笔记(2)- Mongo Shell 中文档的增、删、改
MongoDB学习笔记(2)- Mongo Shell 中文档的增、删、改本文所使用的MongoDB版本为 4.0.10> db.version();4.0.10一、插入文档1. 插入一个文档语法: db.<collection>.insert(document)向 test 数据库中的 user 集合中插入一个文档:> use test;switched to db test> db.user.insert({ "username" : "To原创 2021-01-16 09:56:55 · 311 阅读 · 0 评论 -
MongoDB学习笔记(1)- MongoDB简介及数据类型
MongoDB学习笔记(1)- MongoDB简介及数据类型本文所使用的MongoDB版本为 4.0.10> db.version();4.0.10一、MongoDB 介绍1. MongoDB 的特点MongoDB 是一个可扩展、高性能的 NoSQL 数据库,由 C++ 语言编写,旨在为 web 应用提供高性能可扩展的数据存储解决方案。它的特点是高性能、易部署、易使用,存储数据非常方便,主要特性有:模式自由,支持动态查询、完全索引,可轻易查询文档中内嵌的对象及数组。面向集合原创 2021-01-16 09:54:46 · 438 阅读 · 1 评论 -
服务端面试宝典-HTTP协议知识点整理
一、HTTP协议简介1. 含义HTTP 协议是 Hyper Text Transfer Protocol(超文本传输协议) 的缩写,是用于浏览器与服务器之间传输文字、图片、音频、视频等超文本数据的约定和规范。当前主流的HTTP协议版本为 HTTP/1.1。2. 特点无状态,每个请求都是互相独立、毫无关联的应用层协议支持B/S及C/S模式灵活可扩展,可以任意添加首部字段实现任意功能可靠性强,基于 TCP/IP 协议“尽量”保证数据的送达通信开销小、简单快速、传输成本低,节省传输时间3原创 2021-01-05 10:22:38 · 490 阅读 · 0 评论 -
PHP5.5 ~ PHP7.2 新特性整理
http://php.net/manual/zh/appendices.php从PHP 5.5.x 移植到 PHP 5.6.x新特性使用表达式定义常量在之前的 PHP 版本中, 必须使用静态值来定义常量,声明属性以及指定函数参数默认值。 现在你可以使用包括数值、字符串字面量以及其他常量在内的数值表达式来 定义常量、声明属性以及设置函数参数默认值。<?phpcon...原创 2018-03-30 12:04:07 · 2210 阅读 · 0 评论 -
ubuntu 安装 php7.2
sudo apt-get install software-properties-common python-software-properties sudo add-apt-repository ppa:ondrej/php && sudo apt-get updatesudo apt-get -y install php7.2 # 如果之前有其他版本PHP,在这边禁...原创 2018-03-29 18:24:42 · 27904 阅读 · 0 评论 -
一些收藏的网址
linux:鸟哥的 Linux 私房菜每天一个linux命令LINUX大棚Linux命令系列吴钧泽博客(个人感觉网站效果做的很不错,值得参考)ubuntu apt-get源阿里云开源镜像站Yii2深入理解Yii2Yii中文网(貌似非官方)GetYii:https://getyii.com/白狼个人博客网站:http://www.manks.t...原创 2016-08-10 14:19:30 · 887 阅读 · 0 评论 -
PHP读取超大文件和超大目录的方法
大文件<?phpfunction readFile($file){ # 打开文件 $handle = fopen($file, 'rb'); while (feof($handle) === false) { # 重点 每次读取 1024 个字节 yield fread($handle, 1024); } f...原创 2017-12-11 12:29:22 · 2797 阅读 · 0 评论 -
Yii2一些方法技巧小记
1.表单提交失败调试代码echo array_values($model->getFirstErrors())[0];exit;2.控制器获取当前Module name,Controller name和action name()#在控制器里面使用$this->module->id;$this->id;$this->action->id;#其他位置使用Yii::$app->controller原创 2016-09-23 20:34:52 · 20143 阅读 · 1 评论 -
关于PHP+JQuery图片上传,裁剪,并存储的一些总结
关于JS的三大误区。==误区1:js可以生成图片文件?==js不能操作文件,只能形成裁剪效果,无法生成图片文件。==误区2:js选择文件时,可以获得文件路径。==js选择文件时,无法获取文件在个人电脑中的路径。==误区3:js可以通过 $("input").val() 为 <input type=file> 赋值。==js不能为 <input type=file> 自动赋值,出于安全方面考虑,fil原创 2016-08-12 11:10:44 · 3738 阅读 · 0 评论 -
PHP CURL 总结
1.Get请求$curlobj = curl_init(); // 初始化curl_setopt($curlobj, CURLOPT_URL, "http://www.baidu.com"); // 设置访问网页的URLcurl_setopt($curlobj, CURLOPT_RETURNTRANSFER, true); // 执行之后不原创 2016-09-28 19:55:34 · 310 阅读 · 0 评论 -
jquery + php动态添加删除表单的方法
<button id='insertButton' onClick='addResource()'>增加</button><?php ob_start();?><div> <div> <input name='Resource["url"][]' placeholder="下载链接" type="text"> </div> <div> <i原创 2016-09-28 21:08:29 · 1049 阅读 · 0 评论 -
php + nginx 网站并发压力测试及优化
一、测试工具:Apache 压力测试工具abab是针对apache的性能测试工具,可以只安装ab工具。ubuntu安装abapt-get install apache2-utilscentos安装abyum install httpd-toolsab的参数详细解释格式: ./ab [options] [http://]hostname[:port]/pa原创 2016-10-20 10:07:03 · 8014 阅读 · 0 评论 -
使用Base64编码对图片进行编码与显示
<?php$fileName = "a.gif";//1.直接使用img标签显示echo "<img src='{$fileName}'/>";//2.使用Base64;# 获取图片文件的内容$fileContents = file_get_contents($fileName);# 对图片文件内容进行Base64编码$fileBase64 = base64_encode($fileConte原创 2016-11-13 10:01:39 · 2409 阅读 · 0 评论 -
php 将网络图片保存到本地的方法
<?php$img = file_get_contents('http://r1.ykimg.com/05100000575CCAF767BC3D4B250267B7');# 网络显示图片扩展名不是必须的,只不过在windows中无法识别file_put_contents('img',$img);echo '<img src="img">';原创 2016-11-13 10:12:31 · 7376 阅读 · 0 评论 -
PHP-FPM stop/reload: Unknown instance, service status `stop/waiting`
参考:Ubuntu php5-fpm throws unknown instance on reloadPHP-FPM service status stop/waiting but workers are running?Ubuntu Comment 16 for bug 1242376sudo service php5-fpm stopps aux | grep phpkill [list转载 2017-01-03 14:26:12 · 1501 阅读 · 0 评论 -
windows下PHP + Nginx curl访问本地地址超时卡死问题的解决方案
原因:windows 下 nginx+php环境,不支持并发。解决方案:1.在配置nginx vhost时,需要同时运行的网站设置不同的fastcgi_pass的端口号eg:server { server_name t.memory-ferry; # 其他配置... location ~ \.php$ { include fastcgi_params;转载 2017-02-22 11:42:41 · 6182 阅读 · 0 评论 -
安装xhprof 和 xhgui参考文章总结
使用XHProf查找PHP性能瓶颈PHP性能追踪及分析工具xhprof的安装与使用使用xhprof进行线上PHP性能追踪及分析PHP 性能分析第一篇: Xhprof & Xhgui 介绍 xhgui github安装php mongodb扩展,(注意:非php mongo扩展)扩展地址:https://pecl.php.NET/package/mongodb安装过程中报错:configure:转载 2017-03-21 14:14:55 · 747 阅读 · 0 评论 -
PHP知识小记
for与foreach哪个更快?循环数字数组时,for需要事先count($arr)计算数组长度,需要引入自增变量$i,每次循环都要进行条件判断$i<$c,然后自增$i++,输出数组元素时,$arr[$i]需要进行哈希操作.而foreach循环数组时,指针会自动指向下一个元素,不需要计算数组长度,没有条件判断和自增变量,调用元素时也没有哈希操作,所以性能肯定要比for和while高.另外,for和原创 2017-04-28 19:55:43 · 432 阅读 · 0 评论 -
PHP 常用函数技巧小记
计算数组相同值出现次数array_count_values($array);eg: $array = [1, 2, 1, 3, 2, 1, 'a', 'b' , 'a', 'b', 'a', 'c'];$res = array_count_values($array);var_dump($res);# 运行结果:array(6) { [1]=> int(3) [2]=> i原创 2016-11-23 12:31:30 · 289 阅读 · 0 评论 -
【转】yii2的事件机制
学好事件,先学学观察者模式一个活生生的Yii2事件例子Yii2的内置事件知多少?绑定事件知多少?yii2事件的解绑和级别概念转载 2017-07-10 18:30:28 · 390 阅读 · 0 评论 -
PHP中一个 & 和两个 && 的区别简析
两个 && 是逻辑 “与”。 一个 & 是按位“与”。几个例子:$arr = [];if (($arr[1] = 1) & ($arr[1] == 1) & ($arr[1] = 3)) { echo 'true', $arr[1];die;}echo 'false', $arr[1];输出:true3简析:表达式从左到右依次执行。$arr = [];if (false & ($a原创 2017-07-26 14:17:22 · 7475 阅读 · 0 评论 -
[转]PHP __CLASS__、get_class()与get_called_class()的区别
__CLASS__ 获取当前的类名,get_class()与上面一样,都是获取当前的类名get_called_class()获取当前主调类的类名当涉及到继承时,在方法中使用类名。class A { function say () { echo 'A is ' . __CLASS__ . '<br/>'; echo 'A is ' . get_class()转载 2017-10-12 19:44:58 · 867 阅读 · 0 评论 -
关于php 如何访问以数字开头或带连字符 '-' 的对象属性
将一个json格式的字符串转换成php对象:$string = '{"os":"iOS","os-version":"10.3.1","1day":24}';$obj = json_decode($string);echo '<pre>';print_r($obj);输出结果:stdClass Object( [os] => iOS [os-version] => 10.3.原创 2017-10-23 16:50:03 · 1282 阅读 · 0 评论 -
PHP中 is_null、empty、isset的区别
isset查看一个变量是否已经被设置并且不为空(Determine if a variable is set and is not NULL)更多说明: 使用 unset() 释放变量之后,它将不再是 isset()。 PHP函数isset()只能用于变量,传递任何其它参数都将造成解析错误。 检测常量是否已设置可使用 defined() 函数。 empty 查看一个变量是否为空 “”、0原创 2016-09-18 09:34:16 · 439 阅读 · 0 评论 -
php curl获取https页面内容, 不直接输出返回结果的设置
使用php curl获取页面内容或提交数据, 有时候希望返回的内容作为变量储存, 而不是直接输出.方法:设置curl的CURLOPT_RETURNTRANSFER选项为1或true.eg:$url = 'http://www.baidu.com';$ch = curl_init();curl_setopt($ch, CURLOPT_URL,$url);curl_setopt($ch, CURLO原创 2016-09-14 14:36:18 · 4550 阅读 · 0 评论