php
十年砍柴---小火苗
这个作者很懒,什么都没留下…
展开
-
Mac PHP7.4安装
这是因为php7.4官方已经不再维护,所以Hombrew将该php版本移出了repository,所以安装不了。比如(所有旧版php仓库地址https://github.com/shivammath…查看可按照版本:brew search php。//将第三方仓库加入brew。原创 2023-11-16 10:09:18 · 425 阅读 · 0 评论 -
array_map与array_walk的用法与区别详解
今天看代码的时候,发现代码中使用array_map来统一去掉数组中的空格,比起循环来,方便了很多。2、array_map里面的函数可以是自定义函数,也可以是php自带的函数,比如trim去除空格等。1、array_map的用法是array_map(函数名,数组),而array_walk的用法是array_walk(数组,函数名);array_map() 函数将用户自定义函数作用到数组中的每个值上,并返回用户自定义函数作用后的带有新值的数组。3、array_map不可以改变原函数的值,会获取到新的数组。原创 2023-10-26 17:11:15 · 156 阅读 · 0 评论 -
fast中user_id如何显示user表中的名称_关联模型
>with(['user','doctor','keshi'])//添加模型里面的方法。问题:编辑框内的user_id显示的是nickname 列表里如何显示nickname或是username。需要更改3个地方,控制器,模型,js文件。//关联模型 会员表 user。4.完工,就可以显示名称了。1.控制器index。原创 2023-05-09 15:25:46 · 1034 阅读 · 0 评论 -
宝塔linux快速安装php pecl拓展管理工具
为什么要用pecl安装php拓展呢?因为简单快速,不需要再下载对应拓展的源文件去phpize编译,make等操作。进入宝塔php的bin目录,这里以74版本为例安装成功后会在当前目录生成一个pecl文件,可以添加软链接到全局,这样就不用打全局pecl路径了,一个版本对应一个pecl文件。原创 2022-12-06 18:30:20 · 1707 阅读 · 0 评论 -
pecl 安装指定版本swoole
找到需要安装的版本 swoole-1.9.23.tgz (https://pecl.php.net/get/swoole-1.9.23.tgz)执行安装 pecl install https://pecl.php.net/get/swoole-1.9.23.tgz。通过搜索进入扩展包页面 https://pecl.php.net/package/swoole。我这里之前安装过,所以本次安装失败了。2.pecl 安装扩展包。原创 2022-10-28 15:10:21 · 1198 阅读 · 0 评论 -
php中如何实现多进程
目录一、总结一句话总结:1、php多进程使用场景?2、php的cli模式是什么?3、php多进程使用限制?4、php多进程核心函数?5、php中一个始终保持固定个数的子进程在跑的例子?二、php多进程总结一、总结一句话总结:php多进程需要pcntl,posix扩展支持可以通过 php - m 查看,没安装的话需要重新编译php,加上参数--enable-pcntl,posix一般默认会有1、php多进程使用场景?日常任务中,原创 2022-02-06 12:49:55 · 3245 阅读 · 1 评论 -
原生PHP、Laravel、MIXPHP、Go高并发性能测试QPS
系统环境:4核8G内存,SSD硬盘CentOS 6.5 64位MySQL 5.6.29PHP 5.6.22Apache 2.2.31nginx 1.10.0启用OPcacheweb架构为:把php请求利用Nginx反向代理给后端的Apache或者MIXPHP。测试之前,请先查看apache的ab测试注意点:Apache的ab进行并发性能测试的注意点一、基准性能测试1000并发,1万请求数:ab-n10000-c1000{URL}1...原创 2021-09-17 15:46:44 · 4570 阅读 · 1 评论 -
array_filter()、array_map()、array_walk()三者的用法和区别
array_filter() 该函数把输入数组中的每个键值传给回调函数。如果回调函数返回 true,则把输入数组中的当前键值返回结果数组中。数组键名保持不变。$arr = ['a','b',1,2,3];$new_arr = array_filter($arr,function($val){return is_numeric($val);});var_dump($new_arr);//返回结果//array (size=3)// 2 => int 1...原创 2021-07-26 17:27:56 · 210 阅读 · 1 评论 -
php 数据类型转换强制转换的三种方式
(int)、(integer):转换成整形 (float)、(double)、(real):转换成浮点型 (string):转换成字符串 (bool)、(boolean):转换成布尔类型 (array):转换成数组 (object):转换成对象第一种转换方式: (int) (bool) (float) (string) (array) (object) <?php $num1=3.14; $num2=...原创 2021-07-21 09:35:06 · 1057 阅读 · 0 评论 -
使用PHP实现查找附近的人
最近有个业务场景使用到了查找附近的人,于是查阅了相关资料,并对使用PHP实现相关功能的多种方式和具体实现做一篇技术总结,欢迎各位看官提出意见和纠错,下面开始进入正题:LBS(基于位置的服务)查找附近的人有个更大的专有名词叫做LBS(基于位置的服务),LBS是指是指通过电信移动运营商的无线电通讯网络或外部定位方式,获取移动终端用户的位置信息,在GIS平台的支持下,为用户提供相应服务的一种增值业务。因此首先得获取用户的位置,获取用户的位置有基于GPS、基于运营商基站、WIFI等方式,一般由客户端获取原创 2021-07-10 21:26:28 · 291 阅读 · 0 评论 -
PHP之Trait详解
php从以前到现在一直都是单继承的语言,无法同时从两个基类中继承属性和方法,为了解决这个问题,php出了Trait这个特性用法:通过在类中使用use 关键字,声明要组合的Trait名称,具体的Trait的声明使用Trait关键词,Trait不能实例化如下代码实例:<?phptrait Dog{ public $name="dog"; public function bark(){ echo "This is dog"; }}c...原创 2021-02-13 22:53:23 · 97 阅读 · 0 评论 -
jQuery Ajax 简单的实现跨域请求
html 代码清单:<script type="text/javascript" src="http://www.youxiaju.com/js/jquery-1.4.2.min.js"></script><script type="text/javascript">$(function(){$.ajax( { type:'get', url : 'http://www.youxiaju.com/validate.php原创 2021-01-25 11:41:00 · 316 阅读 · 0 评论 -
彻底理解CORS跨域原理
CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origin resource sharing)。它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制。本文详细介绍CORS的内部机制。(图片说明:摄于阿联酋艾因(Al Ain)的绿洲公园)一、简介CORS需要浏览器和服务器同时支持。目前,所有浏览器都支持该功能,IE浏览器不能低于IE10。整个CORS通信过程,都是浏览器自动完成,不需要用户参与。对于开发者来说,CORS原创 2021-01-25 11:37:11 · 468 阅读 · 0 评论 -
迭代器
php提供了一个语法结构用于遍历数组和对象foreach遍历数组用法1 <php2 //定义一个数组3 $arr = array("1","2","3","4","5");4 //用foreach遍历5 foreach($arr as $key => $value){6 echo '键名:'.$key.'键值:'.$value."<br>";7 }8 ?> 输出结果:键名:0键值:1键名:1键值:2键名:2键值:3键名:3原创 2021-01-17 17:13:01 · 267 阅读 · 0 评论 -
call_user_func()详解
call_user_func()详解先来看解释 :(PHP 4, PHP 5, PHP 7)call_user_func—把第一个参数作为回调函数调用通过函数的方式回调<?phpfunction barber($type){ echo "you wanted a $type haircut, no problem\n";}call_user_fun...原创 2020-04-02 17:25:09 · 488 阅读 · 0 评论 -
TP连接数据库报错:SQLSTATE[HY000] [2002] No such file or directory (原)
TP连接数据库报错:SQLSTATE[HY000] [2002] No such file or directory (原)连接数据库报错:“SQLSTATE[HY000] [2002] No such file or directory”。出现这个问题的原因是PDO无法找到mysql.sock或者mysqld.sock。 解决方法1:找到相应的.sock文件,并设置ph...原创 2020-04-01 18:36:59 · 1417 阅读 · 1 评论 -
password_hash和password_verify函数
password_hash和password_verify函数一、前言PHP5.5提供了许多新特性及Api函数,其中之一就是Password Hashing API(创建和校验哈希密码)。它包含4个函数:password_get_info()、password_hash()、password_needs_rehash()、password_verify()。在PHP5.5之前,我们对于密...原创 2020-03-26 17:19:40 · 1135 阅读 · 0 评论 -
PHP的password_hash()使用实例
PHP5.5提供了许多新特性及Api函数,其中之一就是Password Hashing API(创建和校验哈希密码)。它包含4个函数:password_get_info()、password_hash()、password_needs_rehash()、password_verify()。在PHP5.5之前,我们对于密码的加密可能更多的是采用md5或sha1之类的加密方式(没人像CSDN那原创 2017-08-29 06:44:38 · 5684 阅读 · 0 评论 -
MySQL锁机制和PHP锁机制
模拟准备--如何模拟高并发访问一个脚本:apache安装文件的bin/ab.exe可以模拟并发量 -c 模拟多少并发量 -n 一共请求多少次 http://请求的脚本例如:cmd: apache安装路径/bin/ab.exe -c 10 -n 10 http://web.test.com/test.php【切入正题】MYSQL中的锁:语法 :LOCK TABLE 表名1 R原创 2017-09-02 17:48:40 · 284 阅读 · 0 评论 -
php isset()与empty()的使用 完美版
PHP isset函数作用isset函数是检测变量是否设置。格式:bool isset( mixed var [, mixed var [, ...]] )返回值:若变量不存在则返回FALSE若变量存在且其值为NULL,也返回FALSE若变量存在且值不为NULL,则返回TURE同时检查多个变量时,每个单项都符号上一条要求时才返回TRUE,否则原创 2017-08-30 15:54:58 · 481 阅读 · 0 评论 -
详谈php静态方法及普通方法的区别
header('content-type:text/html;charset=utf-8');/* 普通方法,存放类内,只有一份静态方法,也是存放于类内,只有一份区别在于:普通方法需要对象去调用,需要绑定$this即,普通方法,必须要有对象,然后让对象来调用而静态方法,不属于哪一个对象,因此不需要绑定$this即,不需要对象也可以调用原创 2017-08-26 12:48:48 · 664 阅读 · 0 评论 -
页面跳转和获取的知识
document.URL 属性可返回当前文档的 URL。document.referrer 属性可返回载入当前文档的文档的 URL。javascript中的location.href有很多种用法,主要如下。self.location.href="/url" 当前页面打开URL页面location.href="/url" 当前页面打开URL页面windows.location原创 2017-08-25 16:58:59 · 289 阅读 · 0 评论 -
$GLOBALS['HTTP_RAW_POST_DATA'] 和$_POST的区别
$_POST:通过 HTTP POST 方法传递的变量组成的数组。是自动全局变量。$GLOBALS['HTTP_RAW_POST_DATA'] :总是产生 $HTTP_RAW_POST_DATA 变量包含有原始的 POST 数据。此变量仅在碰到未识别 MIME 类型的数据时产生。$HTTP_RAW_POST_DATA 对于 enctype="multipart/form-data" 表单数原创 2017-08-23 17:03:34 · 349 阅读 · 0 评论 -
continue和break
//break是结束整个循环体,continue是结束单次循环原创 2017-08-20 12:12:21 · 181 阅读 · 0 评论 -
http状态代码(错误代码)各代表什么意思?
状态代码(也称作错误代码),指为服务器所接收每个请求(网页点击)分配的 3 位数代码。多数有效网页点击都有状态代码 200("正常")。"网页未找到"错误会生产 404 错误。某些常见的代码以粗体显示。 1xx(临时响应) 用于表示临时响应并需要请求者执行操作才能继续的状态代码。 代码 说明 100(继续) 请求者应当继续提出请求。服务器返回此代码原创 2017-06-29 09:03:11 · 1912 阅读 · 0 评论 -
PHP返回变量或数组的字符串表示:var_export()
使用var_export()函数可以在服务端程序没有在打印的情况下,配合file_put_contents方便的调试程序,查看变量和数组的内容。 在开发过程中,我们常用var_dump()来打印数组内容,但有时候我们不方便通过浏览器查看调试信息,这时候可以将信息输出到文件中查看,var_export()可以打印或返回变量的字符串表示,返回值是一个字符串,形式类似var_dump()打印的原创 2017-06-23 17:14:36 · 1452 阅读 · 0 评论 -
浅谈PHP解析URL函数parse_url和parse_str
PHP中有两个方法可以用来解析URL,分别是parse_url和parse_str。parse_url解析 URL,返回其组成部分mixed parse_url ( string $url [, int $component = -1 ] )本函数解析一个 URL 并返回一个关联数组,包含在 URL 中出现的各种组成部分。本函数不是用来验证给定 URL 的合法性的,只是将其分解原创 2017-06-22 15:10:50 · 3251 阅读 · 0 评论 -
PHP parse_url 一个好用的函数
举例子如下: 复制代码 代码如下:$url = "http://www.electrictoolbox.com/php-extract-domain-from-full-url/"; $parts = parse_url($url); 输出: 复制代码 代码如下:Array ( [scheme] => http [host] => www.ele原创 2017-06-22 15:07:19 · 401 阅读 · 0 评论 -
跨域问题
什么是跨域当两个域具有相同的协议(如http), 相同的端口(如80),相同的host(如www.google.com),那么我们就可以认为它们是相同的域(协议,域名,端口都必须相同)。跨域就指着协议,域名,端口不一致,出于安全考虑,跨域的资源之间是无法交互的(例如一般情况跨域的JavaScript无法交互,当然有很多解决跨域的方案) Access-Control-Allow-Or原创 2017-06-17 13:51:39 · 332 阅读 · 0 评论 -
PHP 强制类型转换
获取数据类型 :如果想查看某个表达式的值和类型,用 var_dump()。 如果只是想得到一个易读懂的类型的表达方式用于调试,用 gettype()。要查看某个类型,不要用 gettype(),而用 is_type() 函数。■字符串转换为数值当一个字符串被当作数字来求值时,根据以下规则来决定结果的类型和值。如果包括“.”,“e”或“E”其中任何一个字符的话,字符串原创 2017-06-14 15:47:45 · 5060 阅读 · 0 评论 -
header()
1.header()函数header()函数是PHP中进行页面跳转的一种十分简单的方法。header()函数的主要功能是将HTTP协议标头(header)输出到浏览器。header()函数的定义如下:void header (string string [,bool replace [,int http_response_code]])可选参数replace指明是替换前原创 2017-06-14 15:09:56 · 754 阅读 · 0 评论 -
intval()和int()
int intval ( mixed $var [, int $base ] ) 通过使用特定的进制转换(默认是十进制),参数base表示进制,只有当var是字符串时,base才会有意义,表示按照base进制来对var进行转换,返回变量 var 的 integer 数值。intval()而言,如果参数是字符串,则返回字符串中第一个不是数字的字符之前的数字串所代表的整数值。如果字符串第原创 2017-06-13 08:58:01 · 10074 阅读 · 0 评论 -
PHP 开发者该知道的 5 个 Composer 小技巧
Composer是新一代的PHP依赖管理工具。其介绍和基本用法可以看这篇《Composer PHP依赖管理的新时代》。本文介绍使用Composer的五个小技巧,希望能给你的PHP开发带来方便。1. 仅更新单个库只想更新某个特定的库,不想更新它的所有依赖,很简单:composer update foo/bar此外,这个技巧还可以用来解决“警告信息问题”。你一原创 2017-04-23 17:27:09 · 290 阅读 · 0 评论 -
PsySH——PHP交互式控制台
PsySH is a runtime developer console, interactive debugger and REPL for PHP.PsySH是一个PHP的运行时开发平台,交互式调试器和Read-Eval-Print Loop (REPL)。说的简单点,就像你用firebug的console调试你的JavaScript代码一样。PsySH官网GitHub原创 2017-04-15 12:18:10 · 934 阅读 · 0 评论 -
PHP编程效率的20个要点
用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则 不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故把函数加 上了双引号)。 1、如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍。 2、$row原创 2017-04-15 12:17:21 · 289 阅读 · 0 评论 -
php开发环境
Window:1、XAMPPhttps://www.apachefriends.org/index.html2、WampServerhttp://www.wampserver.com/LinuxCentos安装apache,mysql,php环境yum -y install httpd php mysql mysql-server php-mysql php-dev原创 2017-04-15 12:10:18 · 485 阅读 · 0 评论 -
CURL的get和post请求,简单明了
1.cURL介绍 cURL 是一个利用URL语法规定来传输文件和数据的工具,支持很多协议,如HTTP、FTP、TELNET等。最爽的是,PHP也支持 cURL 库。本文将介绍 cURL 的一些高级特性,以及在PHP中如何运用它。2.基本结构 在学习更为复杂的功能之前,先来看一下在PHP中建立cURL请求的基本步骤: (1)初始化 curl_init()原创 2017-04-10 14:24:22 · 896 阅读 · 0 评论 -
each和list
each()函数each() 函数生成一个由数组当前内部指针所指向的元素的键名和键值组成的数组,并把内部指针向前移动。 返回的数组中包括的四个元素:键名为 0,1,key 和 value。单元 0 和 key 包含有数组单元的键名,1 和 value 包含有数据。 如果内部指针越过了数组范围,本函数将返回 FALSE。语法:each(array)原创 2017-04-10 14:04:27 · 417 阅读 · 0 评论 -
PHP中const和define()定义常量的细节区别
众所周知,在PHP中(PHP 4及以后),我们可以使用函数define()来定义常量,例如:phpdefine('PI', 3.14159); //定义一个名为PI的常量echo PI; //输出:3.14159?>不过,在PHP 5.3.0之后,除了使用函数define()之外,我们还可以使用PHP关键字const来定义常量。例如:php//以下代码需在原创 2017-04-03 19:19:45 · 415 阅读 · 0 评论 -
php面向对象_get(),_set()的用法
一般来说,总是把类的属性定义为private,这更符合现实的逻辑。但是,对属性的读取和赋值操作是非常频繁的,因此在PHP5中,预定义了两个函数“__get()”和“__set()”来获取和赋值其属性。类似于java中的javabean的操作,使用的方法也类似,只是不需要像javabean中那样,对每个字段进行set和get的操作。只需要加上两个魔术方法即可。即私有成员的设值和取值的操作。在PHP5原创 2017-04-03 18:55:33 · 274 阅读 · 0 评论