
php
LCRxxoo
为了积分
展开
-
composer has unpushed changes on the current branch
可能原因是分支名问题,例如composer.json里版本是dev-xxx(xxx为分支)。而xxx的值是abc-dev那么就会出现has unpushed changes on the current branch原因是composer命令最终解析成git diff --name-status composer/abc...abc -- 而不是abc-dev...原创 2021-02-01 14:58:17 · 584 阅读 · 0 评论 -
__PHP_Incomplete_Class 错误处理
//该错误通常是两套php代码公用了redis,mysql等数据class A{ public $name = 'admin_a'; } class B{ public $name = 'admin_b'; } $objA = new A(); $objB = new B(); $serializedObjA = serialize($objA); $serializedObjB = serialize($objB); //如果classA 不存在与代码,那么原创 2020-07-29 10:34:05 · 1051 阅读 · 0 评论 -
php 安装扩展管理工具 pecl
curl -o go-pear.php https://pear.php.net/go-pear.phar \ && php go-pear.php \ && ln -s /usr/local/php/bin/pecl /sbin/pecl \ && ln -s /usr/local/php/bin/pear /sbin/pear \原创 2020-07-21 14:23:49 · 284 阅读 · 0 评论 -
php慢日志总有+++ dump failed错误
表达意思:日志输出错误原因猜测:fpm的缓冲区不足导致日志不能写完整php源码:原创 2020-04-13 10:20:56 · 2383 阅读 · 0 评论 -
php 垃圾回收机制
可能根缓冲区(possible roots): 存放垃圾回收期间遍历的变量添加到跟缓冲区的时机: 当ZEND_UNSET_VAR发生或zend_assign_to_variable仅在可能产生垃圾节点时调用时,可以将节点添加到所有根。将调用gc_possible le_root()将节点添加到可能的根。变量在缓冲区的状态:* BLACK (GC_BLACK) ...翻译 2019-07-07 22:02:19 · 746 阅读 · 0 评论 -
PHP7和CryptoJS的AES加密方式互通 AES-128-ECB
PHP类:class AES{ /** * * @param string $string 需要加密的字符串 * @param string $key 密钥 * @return string */ public static function encrypt($string, $key) { // ...原创 2019-04-29 18:12:16 · 3085 阅读 · 5 评论 -
php -yield关键字理解
生成器函数的核心是yield关键字。它最简单的调用形式看起来像一个return申明,不同之处在于普通return会返回值并终止函数的执行,而yield会返回一个值给循环调用此生成器的代码并且只是暂停执行生成器函数。Example #1 一个简单的生成值的例子<?phpfunction gen_one_to_three() { for ($i = 1; $i <= 3;...原创 2018-12-10 18:22:22 · 295 阅读 · 0 评论 -
PHP预定义接口之 ArrayAccess
class ResultSet implements \ArrayAccess{ /** * 返回的错误码 **/ public $code; /** * 返回的错误信息 **/ public $msg; /** * Returns whether there is an element at th...原创 2018-09-11 10:14:52 · 301 阅读 · 0 评论 -
php curl追踪句柄的请求字符串
curl_setopt($ch, CURLINFO_HEADER_OUT, true);//追踪头部信息curl_getinfo($ch,CURLINFO_HEADER_OUT)原创 2018-08-31 11:56:53 · 558 阅读 · 0 评论 -
利用MySQL的表实现树的构建以及优化(php代码)
数据结构表结构介绍:程序设计过程中,我们常常用树形结构来表征某些数据的关联关系,如企业上下级部门、栏目结构、商品,省份存储,分类等等,通常而言,这些树状结构需要借助于数据库完成持久化。然而目前的各种基于关系的数据库,都是以二维表的形式记录存储数据信息,因此是不能直接将Tree存入DBMS,设计合适的Schema及其对应的CRUD算法是实现关系型数据库中存储树形结构的关键。理想中树形结构应该具备...原创 2018-08-13 09:39:10 · 617 阅读 · 0 评论 -
yii2 去除mysql 的转义符(`)
原创 2018-08-08 14:51:58 · 1675 阅读 · 0 评论 -
php异步请求实现,实现异步执行代码
/** * php异步请求 * * @param $host string 主机地址 * @param $path string 路径 * @param $param array 请求参数 * @return string */public static function asyncRequest($host, $path, $param = array()){ ...原创 2018-08-02 14:02:08 · 2789 阅读 · 0 评论 -
php 错误采集
register_shutdown_function(function () { file_put_contents(\Yii::getAlias('@runtime').'/apiLog/error.log', print_r(error_get_last(), 1)); });该函数是注册一个当发生错误时,执行匿名函数 error_ge...原创 2018-07-10 17:49:52 · 318 阅读 · 0 评论 -
yii2中限制访问某控制器的IP(IP白名单)
有关Yii2.0鉴权之访问控制过滤器参考类手册 http://www.yiiframework.com/doc-2.0/guide-security-authorization.html前提:需要配置user组件use yii\web\Controller;use yii\filters\AccessControl;class SiteController extends Controlle...转载 2018-06-02 14:48:04 · 2038 阅读 · 1 评论 -
yii2 动态更改组件配置
$data=[ 'components' => [ // list of component configurations 'user' => [ 'class' => 'yii\web\User', 'identityClass' => 'xxxxxxxxx', 'ena...原创 2018-06-01 17:21:41 · 3472 阅读 · 0 评论 -
php 使用curl时,添加cookie
curl_setopt ( $ch , CURLOPT_COOKIE , 'BAIDUID=A7281E0926CB37D791AD464CDD646CF2:FG=1; BIDUPSID=A7281E0926CB37D791AD464CDD646CF2; PSTM=1520817729; REALTIME_TRANS_SWITCH=1; FANYI_WORD_SWITCH=1; HISTORY_S...原创 2018-05-30 14:56:17 · 7938 阅读 · 0 评论 -
yii2 配置多一个缓存支持
web.php文件'cache' => [ 'class' => 'yii\caching\FileCache', ],'cacheDb' => [ 'class' => 'yii\caching\DbCache', 'cacheTable' => 'flight-minpric...原创 2018-05-30 13:02:03 · 613 阅读 · 0 评论 -
php 缓存文件的核心
//创建文件if (@file_put_contents($cacheFile, $value, LOCK_EX) !== false) { if ($this->fileMode !== null) { @chmod($cacheFile, $this->fileMode); } if ($duration原创 2018-04-28 17:19:52 · 282 阅读 · 0 评论 -
php AES/ECB/PKCS5_padding算法(约定的key 是由0x位数组成的)
class HtSecurity extends Object{ /** * 生成短连接 * @param $OtaUrl string URL地址 * @return int|false */ public static function encrypt($input, $key) { //将16进制字符串转为正常的字符窜 ...原创 2018-04-05 16:32:38 · 1602 阅读 · 0 评论 -
php 仅仅读取类中的共有属性
<?phpclass Foo { public $foo = 1; protected $bar = 2; private $baz = 3;}$foo = new Foo();$reflect = new ReflectionClass($foo);$props = $reflect->getProperties(ReflectionProper...原创 2018-03-05 22:41:36 · 546 阅读 · 0 评论 -
LINUX下PHP安装VLD扩展
如果想查看OPCODE代码来实现性能优化的目的,那么需要安装VLD扩展。①http://pecl.php.net/package/vld 到该地址下载最新最稳定的安装包,或者直接通过wget 下载对应的版本②解压该文件 tar zxvf vld-0.13.0.tgz③cd到vld-0.13.0.tgz文件内转载 2018-03-04 15:12:04 · 509 阅读 · 0 评论 -
php 抽奖概率算法
/* * 不同概率的抽奖原理就是把0到*(比重总数)的区间分块 * 分块的依据是物品占整个的比重,再根据随机数种子来产生0-* 中的某个数 * 判断这个数是落在哪个区间上,区间对应的就是抽到的那个物品。 * 随机数理论上是概率均等的,那么相应的区间所含数的多少就体现了抽奖物品概率的不同。 */ function get_rand($proArr) { $result转载 2018-01-31 23:50:21 · 981 阅读 · 0 评论 -
使用PHP+Swoole实现的网页即时聊天工具:PHPWebIM
使用PHP+Swoole实现的网页即时聊天工具全异步非阻塞Server,可以同时支持数百万TCP连接在线同时支持websocket+comet2种兼容协议,可用于所有种类的浏览器包括IE拥有完整的UI界面支持单聊/群聊/组聊等功能支持发送表情支持永久保存聊天记录基于Server PUSH的即时内容更新,登录/登出/状态变更/消息等转载 2018-01-31 09:44:13 · 1900 阅读 · 0 评论 -
php 引用不是指针
指针会存放地址值引用仅仅是一个标识原创 2018-01-04 14:54:46 · 561 阅读 · 0 评论 -
PHP use关键词作用
假如代码不是在同一个文件中,那么命名空间中的use关键词的作用是什么呢,难道use关键词会自动解释对应文件里的代码?应该不会。所以就要与自动加载功能结合,告诉编译器那些命名空间里的代码在那个文件中原创 2018-01-03 16:15:59 · 530 阅读 · 0 评论 -
php 生成器语法
首先生成器是实现了迭代器接口的类,所以叫做迭代生成器Generator:生成器Iterator: 迭代器GeneratorimplementsIterator{/* 方法 */publiccurrent(void) :mixedpublickey(void) :mixedpublicnext(void) :voidpublic...原创 2017-12-20 09:53:06 · 266 阅读 · 0 评论 -
mysql group_concat( 读取出来的数据长度限制
MySQL提供的group_concat函数可以拼接某个字段值成字符串,如 select group_concat(user_name) from sys_user,默认的分隔符是 逗号,即"," ,如果需要自定义分隔符可以使用 SEPARATOR如:select group_concat(user_name SEPARATOR '_') from sys_user但是如果 us原创 2017-12-18 16:54:18 · 784 阅读 · 0 评论 -
php 类型比较表
http://php.net/manual/zh/types.comparisons.php翻译 2017-10-31 14:20:38 · 381 阅读 · 0 评论 -
php 浏览器不缓存页面,后退或history.go(-1)是加载新页面同时也是浏览不留痕
//禁止缓存页面 防止订单页面不给钱直接返回键 导致购物车中生成订单的商品还存在 $time = time() - 60*60*24;// or filemtime($fn), etc header('Last-Modified: '.gmdate('D, d M Y H:i:s', $time).' GMT'); header("Exp原创 2017-10-23 09:10:31 · 1590 阅读 · 0 评论 -
php 清理变量容器的问题(Cleanup Problems)
Example #8 把数组作为一个元素添加到自己$a = array( 'one' );$a[] =& $a;xdebug_debug_zval( 'a' );?>以上例程的输出类似于:a: (refcount=2, is_ref=1)=array ( 0 => (refcount=1, is_ref=0)='one', 1 =>翻译 2017-09-30 20:49:44 · 512 阅读 · 0 评论 -
php 变量存放模式
从左到右,从上到下观看原创 2017-09-30 15:55:30 · 352 阅读 · 0 评论 -
引用计数基本知识
http://php.net/manual/zh/features.gc.refcounting-basics.php点击打开链接翻译 2017-09-30 10:45:52 · 290 阅读 · 0 评论 -
什么是 Zend ? 什么是 PHP ?
Zend是语言引擎,PHP内核。PHP是从外层展现的完整系统。咋一听似乎有点模糊不清,但是其实并不复杂( 看下面).为了实现一个 web 脚本解释器,你需要三个部分:第一:解释器部分分析输入代码,翻译代码,然后执行代码。第二:功能部分 完成语言的功能(函数,等等)。第三:接口部分与web通信,等等。Zend完全参与第一部分,部分参与第二部分;PHP参与第二部翻译 2017-09-30 09:59:52 · 2150 阅读 · 0 评论 -
php flush类输出缓冲剖析
该函数将当前为止程序的所有输出发送到用户的浏览器。转载 2017-08-07 14:00:01 · 318 阅读 · 0 评论 -
PHP 将大量数据导出到 Excel 的问题
1 文件执行时间限制 解决set_time_limit(0);ini_set('max_execution_time', '0');2内存上限解决ini_set("memory_limit","512M");上面都是治标不治本的 真的要将文件分批导出原创 2017-08-07 13:48:38 · 639 阅读 · 0 评论 -
memcache具体使用场景
其一 多用户同时查询相同的sql数据原创 2017-08-07 10:04:20 · 401 阅读 · 0 评论 -
php 模拟高并发访问
//利用curl_multi_init()curl批处理命令classic_curl_main1.php//主文件ini_set("display_errors", "off");header("Content-type: text/html; charset=utf-8"); $url='http://localhost/concurrent/client_1.php';转载 2017-07-25 14:49:47 · 3863 阅读 · 0 评论 -
PHP 回调函数理解
你的理解是错误的!自己调用自己 称之为“递归”,而不是回调你也知道回调的关键是这个回既然是回,那么就有一个谁是主体的问题,因为回调是往回调用的意思我调用了函数A,而函数A在执行过程中调用了我提供的函数B,这个函数B就称为函数A的回调函数显然主体是函数A我们知道,函数是完成某个特定功能的代码集合,在函数执行的过程中,一般是不能去干预他的行为的当函数被设计成带有回调转载 2017-07-16 14:13:27 · 731 阅读 · 0 评论 -
php 获取url请求对应信息
var_dump(apache_request_headers());//获取请求头部信息var_dump(apache_response_headers());//获取相应信息var_dump( http_response_code());//获取状态码原创 2017-07-11 16:42:12 · 506 阅读 · 0 评论 -
微信昵称特殊字符存储 PHP MYSQL
php 解决微信昵称emoji表情插入MySQL报错在PHP接受到微信用户昵称入库的时候报错原因:utf-8 最大3个字节,而emoji占4个字节解决办法:1.修改mysql 数据库的字符集,改为utf8mb4,但是前提是MySQL的版本需要5.5以上由于我用的MySQL还是5.0的,所以用其他方法2.用PHP过滤emoji 1 privat转载 2017-06-20 14:57:58 · 5749 阅读 · 0 评论