PHP
文章平均质量分 64
abcPHP
这个作者很懒,什么都没留下…
展开
-
php执行原理与Opcache、JIT原理
【转】PHP的执行原理/执行流程 https://www.cnblogs.com/hongfei/archive/2012/06/12/2547119.htmlPHP扩展-生命周期和内存管理 https://www.cnblogs.com/beatzeus/p/6071902.html原创 2020-09-06 21:54:52 · 476 阅读 · 0 评论 -
站点配置无效排查
背景wsl各种问题,且没法升级wsl2,只能重装虚拟机,配置环境网站运行不起来curl '127.0.0.1'curl: (7) couldn't connect to hostifconfig 3个虚拟网卡的ip地址都能ping通,表示机子在运行1、可能防火墙没有配置 iptables 添加相关端口 无用2、sudo netstat -anp | grep 80 没有,表明80端口没有被监听,nginx有问题,但nginx运行正常,且sudo nginx -t 检测成功2.1、重装 无用原创 2020-09-03 01:14:18 · 534 阅读 · 0 评论 -
php正则特殊字符emoji表情
/** * 过滤掉含韩语、日语等非汉字、纯英文、纯数字 * 汉字加数字、英文 ok * 可能有特殊字符 * */$str = " love,poem";//$str = " 日音•推荐";//$str = "李易峰情人节在家烤全羊 ";//$str=" 早安,厦门";//$str=" 你能做什么?献血,现在献血,经常献血";//$str=" 新疆,亚克西!";//$str...原创 2020-03-02 21:35:50 · 1611 阅读 · 0 评论 -
php Hprose/Http error日志记录504超时错误
$data = curl_exec($curl);$errno = curl_errno($curl);//本地curl配置的超时时间较长(大于接口超时时间),且curl返回的504,curl_errno函数返回0 CURLE_OKHprose/Http/Client.php默认超时时间为30s,下游接口15s返回504超时,在getContents函数中检测http code,造成ph...原创 2019-12-13 11:43:39 · 585 阅读 · 0 评论 -
CGI、FastCGI和PHP-FPM关系
网关 API(网关 应用编程接口),SAPI(服务器端应用编程接口),CGI(web通用网管接口) 浏览器(客户端) HTTP web server SAPI web application CGI – PHP CGI FastCGI、IIS ISAPI PHP-FPM Apache php5_module cgi mode mod_fastcgi php-...转载 2018-05-12 13:49:54 · 237 阅读 · 0 评论 -
CI框架input get post (_fetch_from_array)
$index='444?487d?[[^44]][\][]'; $count = preg_match_all('/^[^[]+/', $index, $matches); var_dump($count,$matches); //$count = preg_match_all('/[^\]*/', $index, $matches);//Message: preg_m...原创 2018-05-18 11:04:22 · 567 阅读 · 0 评论 -
curl_multi_exec与curl_exec
curl_multi_exec与curl_exec/*CURLOPT_CONNECTTIMEOUT用来告诉PHP脚本在成功连接服务器前等待多久(连接成功之后就会开始缓冲输出),这个参数是为了应对目标服务器的过载,下线,或者崩溃等可能状况;CURLOPT_TIMEOUT 用来告诉成功PHP脚本,从服务器接收缓冲完成前需要等待多长时间。如果目标是个巨大的文件,生成内容速度过慢或者链路速度...原创 2018-04-23 12:59:59 · 1279 阅读 · 0 评论 -
重定向与history.go()、history.back()
重定向301 永久重定向,告诉客户端以后应从新地址访问。 302 作为HTTP1.0的标准,以前叫做Moved Temporarily,现在叫Found,现在使用只是为了兼容性的处理,PHP的默认Location重定向用的也是302。 但是HTTP 1.1 有303 和307作为详细的补充,其实是对302的细化 303:对于POST请求,它表示请求已经被处理,客户端可以接着使用GET方法...原创 2018-03-08 17:38:17 · 5154 阅读 · 0 评论 -
phpStorm代码格式化tip
1、函数方法类等花括号与声明在同一行在setting -> editor -> code style -> PHP -> Wrapping and Braces -> Braces placement In function declaration 选择End of line数组保持分行(原样)在setting -> editor -> code style -> PH原创 2017-09-27 22:05:25 · 1874 阅读 · 0 评论 -
PHP之数组函数归类辨析
数组键值特性key 可以是 integer 或者 string。value 可以是任意类型。 此外 key 会有如下的强制转换: 包含有合法整型值的字符串会被转换为整型。例如键名 “8” 实际会被储存为 8。但是 “08” 则不会强制转换,因为其不是一个合法的十进制数值。 浮点数也会被转换为整型,意味着其小数部分会被舍去。例如键名 8.7 实际会被储存为 8。 布尔值也会原创 2018-08-13 16:27:01 · 1307 阅读 · 0 评论 -
PHP用openssl_encrypt代替mcrypt_encrypt
每个人都应该已经停止使用PHP Mcrypt扩展程序进行新的工作,并且应该计划将其现有的应用程序关闭,因为libmcrypt在2003年被放弃,并且不被保护。 我认为最好的选择是OpenSSL。近年来热度很高,但我认为对称块加密是一个很好的选择。 (我可能会解释为什么我这么想呢) PHP中的 openssl_encrypt()和openssl_decrypt()的文档有点缺乏。本文旨在填补一些...转载 2018-07-03 19:20:45 · 4137 阅读 · 0 评论 -
php inlude和require的区别
1、均是语言结构,不是函数,不用括号,如 require ‘a.php’; 2、如果要引入的文件不存在,include E_WARNING 继续执行, require fatal error (E_COMPILE_ERROR) 程序中断 3、没有什么预加载、预处理的区别!!https://andy-carter.com/blog/difference-between-include...原创 2018-07-13 16:45:24 · 319 阅读 · 0 评论 -
sublime 3编辑器插件(重点:改变选中样式颜色、函数追踪)
a file icon侧边栏不同文件增加图标 tortoisesvnsvn操作 Modific文件更改提示(git svn),更改图标配置,使提示的图标大一些 { "region_icon": "circle",}sftpsftp连接 自动生成或手动创建sftp-config.json,完成配置 S原创 2018-08-21 19:13:16 · 3306 阅读 · 0 评论 -
php项目构建速度优化 composer加速
1 使用国内镜像(全局配置) [加速]composer config -g repo.packagist composer https://packagist.phpcomposer.com2 安装 hirak/prestissimo 插件 [加速]发布机执行composer global require hirak/prestissimo卸载命令composer glob...原创 2019-01-30 14:30:34 · 545 阅读 · 0 评论 -
PHP中使用redis执行lua脚本示例 multi、pipeline、scan
<?php$redis = new Redis(); #实例化redis类$redis->connect('127.0.0.1'); #连接服务器$lua = <<<SCRIPT return {KEYS[1],KEYS[2],ARGV[1],ARGV[2]}SCRIPT;//对应的redis命令如下 eval "return {KEYS[...原创 2019-04-27 15:37:48 · 2846 阅读 · 0 评论 -
php $_SERVER的一些返回
HTTP_HOST:当前访问该站点的host,ip访问或域名访问SERVER_NAME、SERVER_PORT:ng配置的server_name、portSERVER_ADDR:用127.0.0.1访问,返回127.0.0.1,用172.16.43.106(内网ip)访问返回172.16.43.106,用域名访问,返回内网ip...原创 2019-04-29 11:47:00 · 344 阅读 · 0 评论 -
php获取服务器状态 执行shell
介绍获取服务器状态记录使用的是SHELL命令方式进行获取输出结果 然后进行字符串拆分处理等方式进行获取到自己有用信息获取方式以及常用处理方式popen、exec通用方式<?PHP $fp = popen('执行SHELL命令', "r"); $rs = ''; while(!feof($fp)){ $rs .= fread($fp, 1024...转载 2019-06-09 16:44:00 · 1474 阅读 · 0 评论 -
php运行 Primary script unknown错误
php运行 Primary script unknown错误原创 2018-01-18 16:01:22 · 6487 阅读 · 0 评论 -
php 关于日期的一些计算
strtotime基本使用本月最后一天往后一个月获取一周中某天的日期原创 2018-01-18 15:47:33 · 3367 阅读 · 0 评论 -
PHP抽象类与接口的区别
不同点: 对接口的使用方式是通过关键字implements来实现的,而对于抽象类的操作是使用类继承的关键字exotends实现的。 抽象类类似于一个含义抽象方法的普通类。 接口没有数据成员,但是抽象类有数据成员,抽象类可以实现数据的封装。 接口没有构造函数,抽象类可以有构造函数。 接口中的方法都是public类型,而抽象类中的方法可以使用private、protected或public来修转载 2016-08-31 15:00:55 · 377 阅读 · 0 评论 -
php对象赋值
class a{ public $abc="ABC"; } $b=new a(); $c=$b; echo $b->abc;//这里输出ABC echo $c->abc;//这里输出ABC $b->abc="DEF"; echo $c->abc;//这里输出DEF对象的复制 是通过引用来实现的。上列中$b=new a(); $c=转载 2016-08-31 16:19:44 · 2197 阅读 · 0 评论 -
【转载修改】PHP的__autoLoad与spl_autoload_*
PHP的__autoLoad函数 spl_autoload_*函数组转载 2017-05-27 13:28:25 · 625 阅读 · 0 评论 -
php命名空间与自动加载
命名空间概述在PHP中,命名空间用来解决在编写类库或应用程序时创建可重用的代码如类或函数时碰到的两类问题: 1、用户编写的代码与PHP内部的类/函数/常量或第三方类/函数/常量之间的名字冲突。 2、为很长的标识符名称(通常是为了缓解第一类问题而定义的)创建一个别名(或简短)的名称,提高源代码的可读性。定义命名空间虽然任意合法的PHP代码都可以包含在命名空间中,但只有以下类型的代码受命名空间的影响转载 2017-05-31 20:33:38 · 730 阅读 · 0 评论 -
【转载修改】后期静态绑定
静态方法与非静态方法的调用、后期静态绑定、转发与非转发调用转载 2017-06-12 18:25:48 · 406 阅读 · 0 评论 -
HTTP_REFERER和HSTS
HTTP_REFERER重点是这个,下列情况是取不到REFERER: 从收藏夹点击链接,浏览器自定义主页打开或是在浏览器上手动输入http地址 使用Javascript重定向:location.href; location.replace()(没试过) 使用服务器语言重定向,如ASP: Response.Redirect; PHP: header(‘Location: ‘)(php heade转载 2017-07-14 16:48:14 · 572 阅读 · 0 评论 -
vagrant Linux虚拟机与win共享目录时的大小写及共享失败问题(vagrant share folder/synced_folder case sensitivity)
1、版本情况具体box是从别人那拷过来的,没注意什么版本。Ubuntu 14,Guest Additions 4.3 2、问题win下,vagrant Linux虚拟机,同步win下的文件夹到虚拟机(config.vm.synced_folder),Linux本来是区分大小写的,但同步文件夹下是大小写不敏感的。。(坑啊)3、解决 首先安装一个插件: cmd 或...原创 2017-07-31 21:25:27 · 3933 阅读 · 0 评论 -
php-nginx文件上传大小
一般上传大文件流程:首先修改php.ini文件: file_uploads on 是否允许通过HTTP上传文件的开关。默认为ON即是开 upload_tmp_dir – 文件上传至服务器上存储临时文件的地方,如果没指定就会用系统默认的临时文件夹 upload_max_filesize 8m 望文生意,即允许上传文件大小的最大值。默认为2M post_max_size 8m 指通...转载 2018-03-08 17:52:29 · 940 阅读 · 0 评论 -
php中浮点数相关处理(待完善)
is_numeric ctype_digit php浮点数转载 2017-09-14 14:04:24 · 220 阅读 · 0 评论 -
php curl编码类型设置、文件上传与接收数据
php curl编码类型设置、文件上传与接收数据原创 2017-10-08 09:38:27 · 6596 阅读 · 0 评论 -
PHP函数处理 函数(1): call_user_func(_array)、func_get_arg(s)、func_num_args
PHP函数处理 函数call_user_func_arraycall_user_funcfunc_get_argfunc_get_argfunc_num_args原创 2017-10-26 18:50:28 · 731 阅读 · 0 评论 -
对象赋值(=)、引用(&)、克隆(clone)的区别
对象赋值(=)、引用(&)、克隆(clone)的区别转载 2017-10-27 10:02:35 · 899 阅读 · 0 评论 -
php Smarty模板大括号
使用 Smarty 模板的时候,通常都是用 ‘{’ 和 ‘}’ 作为定界符(delimiter)。 有时,我们需要在 html 代码里输出大括号,如果在模板里直接写出来,会被 Smarty 的解析器认为是定界符,然后会报错: Smarty error : syntax error: unrecognized tag 无法识别的标签! 如何解决呢?1 内置变量在需要使用定界符的时候,可以通过转载 2017-10-19 16:57:49 · 784 阅读 · 0 评论 -
php方法名同类名相同
php方法名同类名相同原创 2017-10-26 14:59:15 · 1638 阅读 · 0 评论 -
linux下编译安装php5.6 php7
源码安装在linux下装了许多遍php后有感而发,有一个归根到底的问题就是,php编译参数一定要写完整,否则接下来你装各种扩展都会遇到很多烦死人的问题……,特别是安装路径乱七八糟的或者缺少各种头文件和扩展。ok吐槽完了,在开始讲怎么安装之前,先说说我的系统背景。系统是Centos6.5,之前是用yum安装了lnmp,由于想把php升级到5.6,所以只能够用yum remove ph...转载 2017-11-29 00:37:48 · 5369 阅读 · 1 评论 -
数组array_merge与+(加号)
array_merge() 将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。(数字键名会被重新分配,总会变成从零开始的。)如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。对于使用“原创 2016-08-31 14:43:21 · 770 阅读 · 0 评论