2019 三月 25 , 星期一

PHP

PHP 输出下载文件遇到的坑

问题描述 在新项目中实现数据导出下载功能 下载的文件都提示已损坏 排查过程ob_get_length() 发现居然是1 不知是谁挖的雷 解决方法 输出流之前 ob_clean()

Read More »

PHP opcache 被坑

qa新环境接口报错突然报错 登陆qa服务器调试代码发现怎么改都无效.各种查配置文件.几十分钟后发现显示之前的调试信息.怀疑代码缓存.phpinfo后 发现果然开着opcache(你妹的qa环境搞毛opcache) 改完配置重启php-fpm 果然好了. 以后上测试服务调试 第一时间php -m 防止被坑

Read More »

(工作小记)phpredis Redis::SERIALIZER_IGBINARY 自增字段

最近项目中的统计出现了问题,统计数使用redis的incr 自增。修复数据后使用set xxx value 将新的数据替换老数据 发现set更新后数据又从1开始重新增加 最后发现问题出在 Redis::SERIALIZER_IGBINARY这个参数 Redis::SERIALIZER_IGBINARY Redis::SERIALIZER_PHP 解决方案 在保存之前临时将参数改为Redis::SERIALIZER_NONE 取消序列化 最后别忘了把它改回来 参考 https://github.c ...

Read More »

PHP里的尾递归及其优化

不同的语言对尾递归的支持都有所不同,编译器的优化也不尽相同。我们之前看了C语言的尾递归,那么在PHP里又是如何的呢? PHP对尾递归没有优化效果 先来看下实验。 如果安装了XDebug的话,可能会遇到如下错误: Fatal error: Maximum function nesting level of ’100′ reached, aborting! 这是XDebug的一个保护机制,可以通过max_nesting_level选项来设置。放开设置的话,程序还是能够正常运行 ...

Read More »

PHP显示所有错误信息

最近遇到一个坑 ,由于系统环境关闭了所有错误提示并且只能在非debug模式下调试 ,所以最后采用如下方法 ini_set('display_errors',1);            //错误信息 ini_set('display_startup_errors',1);    //php启动错误信息 error_reporting(-1);                    //打印出所有的 错误信息 //如果要输出到文件就加这一句 ini_set('error_log',  '/data ...

Read More »

PHP kafka 客户端

安装 php zookeeper 扩展 http://www.frankway.net/archives/1213 下载 https://github.com/nmred/kafka-php.git 生产者 消费者

Read More »

php zookeeper 扩展安装

安装libzookeeper wget http://mirror.bit.edu.cn/apache//zookeeper/zookeeper-3.4.5/zookeeper-3.4.5.tar.gz tar -xf zookeeper-3.4.5.tar.gz cd zookeeper-3.4.5/src/c ./configure –prefix=/usr/local/zookeeper/zookeeper-3.4.5/ sudo make && make instal ...

Read More »

PHP-Beast 加密你的PHP源代码

有时候我们的代码会放到代理商上, 所以很有可能代码被盗取,或者我们写了一个商业系统而且不希望代码开源,所以这时候就需要加密我们的代码。 另外PHP-Beast是完全免费和开源的, 当其不能完成满足你的需求时, 可以修改其代码而满足你的要求。 wget https://github.com/liexusong/php-beast/archive/master.zip unzip master.zip cd php-beast-master phpize ./configure –wit ...

Read More »

PHP 查找附近点 geohash(转)

随着移动终端的普及,很多应用都基于LBS功能,附近的某某(餐馆、银行、妹纸等等)。 基础数据中,一般保存了目标位置的经纬度;利用用户提供的经纬度,进行对比,从而获得是否在附近。 目标: 查找附近的XXX,由近到远返回结果,且结果中有与目标点的距离。 针对查找附近的XXX,提出两个方案,如下: 一、方案A: ================================================================================================ ...

Read More »