PHP技术
文章平均质量分 79
coreyhsu2020
公众号:锦秋聊学习
展开
-
php垃圾回收相关
阅读了几篇关于php垃圾回收的文章以及php5.3~php7的变化,个人总结了几点。php5.3~php7这个阶段,将变量的定义分成了zval_struct { zval_value value; zend_uint ref_count_gc; zend_uchar is_ref_gc; zend_uchar type;}zvalue_value { long; double; struct { } str; H...原创 2021-03-21 15:24:43 · 146 阅读 · 0 评论 -
php多进程应用举例
在解决工作上一个关于php多进程问题的时候,发现了一篇比较有趣的关于php多进程应用举例的文章,为防丢,特转载。(原文链接(排版比csdn好看些,建议看原文):http://dwyjr.cn/posts/php/fork.html#toc-heading-3)PHP多进程pcntl_fork()函数成功执行时会在父进程返回子进程的进程id(pid),因为系统的初始进程init进程的pid为1,后来产生进程的pid都会大于此进程,所以我们可以通过判断pcntl_fork()的返回值大于1来确实当前转载 2021-02-26 00:58:15 · 211 阅读 · 0 评论 -
填坑之PHP的yield和协程在一起的日子里
首先是,这是我第一次把公众号文章复制粘贴到github来。其次是,很久很久之前,我挖了一个yield的一个坑,自己挖的坑自己填,不然迟早会把自己埋掉。最后是,如果想看之前那个坑,请发送“yield”给README中的公众号,我开通了高大上的自动回复功能,稀罕地不得了!PS:那篇文章中在最后我犯了一个错误,误下了一个结论:foreach中不能使用send并猜测这是PHP的bug,实际上并不是,真实的原因粗暴简单的理解就是send会让生成器继续执行一次导致。这件事情告诉我们:除了装逼之外,甩锅转载 2020-07-29 21:33:10 · 530 阅读 · 1 评论 -
php的yield关键字相关
PHP 知识补全 —— 生成器 (generator)和协程的实现(基础)php 通过 yield 实现协程有什么使用场景填坑之PHP的yield和协程在一起的日子里(这篇文章写的非常不错,很容易理解,我甚至已经转载到我的博客了)...原创 2020-07-29 21:32:19 · 118 阅读 · 0 评论 -
关于php与mysql等中间件长连接的一些总结
在 FPM 模式下是可以使用 MySQL 持久化连接的。但是没有办法实现连接池的, 因为一个 worker 只能维持一个长连接,无法和别的 worker 共享, 只能通过配置 pm.max_children 来让 FPM 维持的长连接没有那么多不要超过 MySQL 的最大连接数.不过这是一个危险操作, 因为你也看到了, 我在写这篇文章的过程中在没有手动重启 FPM 进程之前这个长连接是一直保持的,而如果这个 fpm 进程是空闲的, 那么这个连接就是被浪费的。这有可能导致大量无用的连接占用 MySQL 的原创 2020-07-29 19:23:21 · 431 阅读 · 0 评论 -
php代码优化系列(一)--数据库读取
php编程时,特别是在处理大量的数据的时候,往往会发生内存超过系统的最大值的情况。这有很多原因,其中的一个原因就是不恰当的使用他提供的内部的函数转载 2010-11-05 16:33:00 · 3541 阅读 · 0 评论 -
PHP:引用是个坏习惯
在写PHP 程序的时候,很多人在传递参数的时候,喜欢用一个引用。特别是在一个数组非常的大的时候,更是喜欢加。转载 2010-11-05 16:35:00 · 766 阅读 · 0 评论 -
如何读取shell 管道传输过来的内容
已经写了不少后台运行的deamon了.用的挺顺手的,但是我现在想获取管道传过来的内容,不知道咋实现,类似echo "aaaa" |a.php,a.php怎么获得echo的内容,不知道您有什么高见.转载 2010-11-05 16:37:00 · 1292 阅读 · 0 评论 -
提供一个在线表达式计算服务
提供一个在线表达式计算服务转载 2010-11-05 16:38:00 · 623 阅读 · 0 评论 -
strtotime函数的相关应用
想想这个strtotime()还是挺神奇的,如果能灵活的运用它,肯定会给工作带来不少方便,但PHP的手册中却对此函数的参数没作太多介绍,对些函数的其他介绍也非常少。原创 2011-02-25 22:12:00 · 1088 阅读 · 0 评论 -
php代码优化系列(二) -- array_walk 和 foreach, for 的效率的比较
array_walk 和 foreach, for 的效率的比较转载 2010-11-05 16:29:00 · 9564 阅读 · 1 评论 -
时间戳与具体时间互转换
时间戳与具体时间互转换原创 2010-11-05 11:25:00 · 1373 阅读 · 0 评论 -
代替bash,书写PHP daemon (后台程序)
最近在雅虎的一个朋友和我说,以前用bash csh 写脚本, 它现在都在用PHP 写后台程序,觉得PHP的函数最全,而且很容易用 shell_exec 很容易调用系统内核。转载 2010-11-05 16:43:00 · 1129 阅读 · 0 评论 -
解决PHP数组内存耗用太多的问题
一般来说,PHP数组的内存利用率只有 1/10, 也就是说,一个在C语言里面100M 内存的数组,在PHP里面就要1G。特别是在PHP作为后台服务器的系统中,经常会出现内存耗费太大的问题。转载 2010-11-05 16:34:00 · 1160 阅读 · 0 评论 -
20个非常有用的PHP类库
20个非常有用的PHP类库转载 2010-09-07 21:38:00 · 805 阅读 · 0 评论 -
PHP Json函数不能处理中文的解决办法
PHP5.2 新增的 json 功能是非常受欢迎的,但是经过测试发现,json_encode对中文的处理是有问题的转载 2010-09-05 13:30:00 · 1440 阅读 · 0 评论 -
PHP汉字验证码的实现
PHP汉字验证码的实现转载 2010-09-10 19:47:00 · 1320 阅读 · 0 评论 -
PHP网站页面静态化的生成方法介绍
在PHP网站开发中为了网站推广和SEO等需要,需要对网站进行全站或局部静态化处理,PHP生成静态HTML页面有多种方法,比如利用PHP模板、缓存等实现页面静态化,今天就以PHP实例教程形式讨论PHP生成静态页面的方法。转载 2010-09-09 16:48:00 · 1597 阅读 · 0 评论 -
crontab 定时执行php脚本文件
Unix和Linux系统的各个发行版本基本都支持Cron,Cron /Crontab允许我们在设定的时间自动执行或定时执行某个任务,如应用程序或脚本。更详细的概念和使用方法介绍请点击Cron和Crontab是什么?转载 2011-04-18 12:55:00 · 1116 阅读 · 0 评论 -
PHP程序员最常犯的11个MySQL错误
对于大多数web应用来说,数据库都是一个十分基础性的部分。如果你在使用PHP,那么你很可能也在使用MySQL—LAMP系列中举足轻重的一份子。对于很多新手们来说,使用PHP可以在短短几个小时之内轻松地写出具有特定功能的代码。但是,构建一个稳定可靠的数据库却需要花上一些时日和相关技能。下面列举了我曾经犯过的最严重的11个MySQL相关的错误(有些同样也反映在其他语言/数据库的使用上)。。。1、使转载 2011-06-29 22:28:00 · 741 阅读 · 0 评论 -
关于php-fpm中的参数的一些配置
主要涉及到php-fpm中的一些参数设置,这里也参考了很多文章。1.segmentfault上大佬的总结首先,我们关注下 PHP-FPM 的运行方式:static :表示在 `php-fpm` 运行时直接 `fork` 出 `pm.max_chindren` 个子进程,dynamic:表示,运行时 `fork` 出 `start_servers` 个进程,随着负载的情况,动态的调...原创 2019-03-14 00:29:08 · 918 阅读 · 0 评论 -
基于左右值的无限分类算法
基于左右值的无限分类算法,php,由于之前采用的递归排序无限分类方法感觉不是很理想,于是参考了国外同国内的左右值排序相关方法,自己写了一个基于左右值的无限分类类,欢迎大家测试,另外还有用到一个mysql操作类,由于不是原创就不提供了,如果需要的可以PM我转载 2014-09-09 08:32:37 · 2940 阅读 · 0 评论 -
PHP ServerPush (推送) 技术的探讨
转自:http://blog.163.com/bailin_li/blog/static/17449017920124811524364/需求:我想做个会员站内通知的功能。不想用以前的ajax查询,听说有个推技术。以下文章介绍的不错,来自转载,==================================================================转载 2014-07-04 19:16:05 · 2159 阅读 · 0 评论 -
phpwind代码分析之global.php简单说明(主要学习php基础知识的应用)
global.php文件中定义了一些函数的定义和一些论坛上的最基本的判断。一些论坛最基本的设置都可以在这个文件中体现,其中global.php中的一些变量,是读取的pm_config表中的数值,在这个表中所有的与论坛相关的设置都在其中。下面是转载的global.php代码的部分注释:霏凡论坛 claudedb 原创//此文件内容为全局变量和公用函数//定义只有运行错转载 2014-06-10 21:22:20 · 2240 阅读 · 0 评论 -
有关php学习的相关笔记
1.SwooleSwoole是一个PHP的C扩展,内置全异步非阻塞的高并发TCP/UDP Server,异步/同步Client原创 2014-05-22 09:59:41 · 705 阅读 · 0 评论 -
php token防止恶意提交
最近后台被扫描工具塞了好多数据,前不久已经做过处理,试用了UCHOME的formhash的方法,但是效果不是很明显,所以考虑要黑盒传递一个密钥,不然如果可以抓取到你表单中的隐藏域的话,表面上的一个令牌是不行的,必须要有一个key来验证这个令牌,并且这个KEY要能够每次都获取的不一样。下面分享我的代码:转载 2014-05-22 10:45:57 · 11120 阅读 · 5 评论 -
file_get_contents的超时处理(膘叔)
话说,从PHP5开始,file_get_content已经支持context了(手册上写着:5.0.0 Added the context support. ),也就是说,从5.0开始,file_get_contents其实也可以POST数据,关于这个,我在通过file_get_contents来 Post数据的实例也有所介绍。今天说的这篇是讲超时的,确实在跨服务器提交的时候,不可避免转载 2014-05-20 09:16:05 · 1134 阅读 · 0 评论 -
用PHP实现MD5算法
在上一篇文章 >中我们有提到MD5算法,此处MD5算法的作用是验证文件的完整性,这与MD5算法开始的应用场景是一致的,即在90年代被广泛使用在各种程序语言中,用以确保资料传递无误。MD5即Message-Digest Algorithm 5(信息-摘要算法 5)。 MD5算法是一种消息摘要算法,以任意长度的信息作为输入进行计算,产生一个128-bit(16-byte)的指纹或报文摘要(fi转载 2014-05-12 15:27:28 · 6506 阅读 · 2 评论 -
PHP文件包含漏洞原理分析和利用方法
PHP文件包含漏洞原理分析和利用方法本文章简单摘要:一、涉及到的危险函数〔include(),require()和include_once(),require_once()〕 include()&&require()语句:包括并运行指定文件。这两种结构除了在如何处理失败之外完全一样。include()产生一个警告而require()则导致转载 2009-10-25 12:36:00 · 744 阅读 · 0 评论 -
phpPHP创建创建jpg格式图片以及压缩图片
其实是因为一些业务上的需求,所以需要对用户上传后的图片进行压缩,因为上传的图片比较大,显示的时候加载起来如果网速不给力的话就很吃力了,而且大图片也浪费空间,于是找了一下相关的资源,主要方法在开源中国上找到了:http://www.oschina.net/question/814955_115750然后,图片压缩后显示出来了,但是要保存,所以还需要进行处理,然后看到了另外一篇文章:h转载 2014-01-26 21:12:00 · 9671 阅读 · 2 评论 -
Ubuntu搭建PHP环境并安装Piwik程序、介绍扩展热安装的方法
文章导航:1、安装MySQL数据库2、php-5.3.8.tar.gz 下载地址3、编译安装php-5.3.8.tar.gz4、配置php.ini5、修改apache配置文件httpd.conf6、新增虚拟目录作为PHP项目根目录7、测试PHP环境安装结果8、安装Piwik 项目9、PHP扩展热安装我搭建PHP环境“涉世不深”,本文仅供参考,兴许还有其他转载 2013-11-11 16:01:08 · 2354 阅读 · 1 评论 -
浅析齐博商城中购物车的实现原理
由于前段时间帮以前的一个朋友做了相关的开发扩展,现在就具体的商城实现技术来说一下,同时也要大赞一下龙老大的实现确实是:大道至简!先来看一下一般商城的大致流程(画了个草图,大家别吐糟)我主要进行的扩展就是在商品页增加两个下拉菜单的选项,一个是数量的克数,一个是研磨方法(因为我的朋友他做的是咖啡网站,就是要卖咖啡的,所以涉及到这两个选项),具体如下:在做的过原创 2012-08-18 23:28:59 · 2816 阅读 · 0 评论 -
关于strpos函数的一些疑问
前段时间在群里有个网友问了这样一个问题。请问:echo strpos("非工",'枪');输出是1还是0?当时我想也没想就说是0,后来结果却是1因为我原来看过PW程序的相关的应用 找到了这段类似的代码:if (strpos("非工", '枪') !== false) { echo 'yes~';}结果也返回 'yes~'我翻了一下手册,上面这么说:strpos(原创 2012-03-19 10:49:08 · 3161 阅读 · 1 评论 -
客户端禁用cookie时session解决方案
在PHP中使用过SESSION的朋友可能会碰到这么一个问题,SESSION变量不能跨页传递。这令我苦恼了好些日子,最终通过查资料思考并解决了这个问题。我认为,出现这个问题的原因有以下几点: 1、客户端禁用了cookie 2、浏览器出现问题,暂时无法存取cookie 3、php.ini中的session.use_trans_sid = 0或者编译时没有打开--enable-trans-s转载 2012-03-23 17:50:29 · 1394 阅读 · 0 评论 -
Php网站配置文件技巧
配置文件原创 2010-08-21 15:31:00 · 2073 阅读 · 0 评论 -
四大发明之活字印刷——面向对象思想的胜利
中国风似的的面向对象讲解转载 2010-06-16 14:26:00 · 1255 阅读 · 0 评论 -
针对不同编码的自定义截取函数分析
针对不同编码的自定义截取函数分析 $lenth = 19; $str = "怎么将新闻的很长的标题只显示前面一些字,后面用.....来代替?"; echo strlen($str)?> /* @ 另一种方法,使用ord()函数: @ 适用于 gb2312 编码: */ $str = "怎么将新闻的很长的标题只显示前面一些字,后面用.....来代替?"; functi转载 2009-09-14 21:44:00 · 457 阅读 · 0 评论 -
substr(),mb_substr(),mb_strcut()的使用心得
substr(),mb_substr(),mb_strcut()的使用心得 substr()函数可以分割文字,但要分割的文字如果包括中文字符往往会遇到问题,这时可以用mb_substr()/mb_strcut这个函数,mb_substr()/mb_strcut的用法与substr()相似,只是在mb_substr()/mb_strcut最后要加入多一个参数,原创 2009-09-14 19:28:00 · 927 阅读 · 0 评论 -
关于修改mysql的root密码的解答(总结篇)
关于修改mysql的root密码的解答(总结篇)整理了以下四种在MySQL中修改root密码的方法,主要是有时候自己遇到了这个问题不知道怎么搞了,当然如果能给广大的PHPer解决问题也是我的荣幸啊,呵呵。 方法1: 用SET PASSWORD命令 mysql -u root mysql> SET PASSWORD FOR root@localho原创 2009-09-11 20:30:00 · 622 阅读 · 0 评论 -
mysql数据乱码问题原因及解决(总结篇)
mysql数据乱码问题原因及解决(总结篇) 第一解决方法: 乱码问题简单说就是数据库写入读取,网页文件,网页显示时几个环节的编码不一致造成的。乱码问题写入时:页面提取写入数据编码和写入数据库时编码不一致读取时:读取后所用编码与数据库写入时不一致显示时:编码与数据库读取后的数据不一致很显然只有三者都统一才行:(以utf-8为例)1:页面提交数据编码utf-8(这原创 2009-09-11 16:44:00 · 2311 阅读 · 0 评论