随笔分类 -  PHP

摘要:调一个项目,最后无法登录了。 排查到最后发现是cookie无法保存会话ID, 工作两年的经验这时候没用上。 开始一以为是PHP.ini的配置错了。 考虑过域名,浏览器问题。 脚本BUG。 最后最后一步步耐心的调试, 是编辑器的问题。这里,推荐大家用NOTEPAD++;这款文件编辑软件。 UTF-8 带 BOM 格式的编码会导致SESSION的ID无法写入到浏览器。 带B... 阅读全文
posted @ 2014-04-19 17:59 phpdragon 阅读(366) 评论(0) 推荐(0)
摘要:Linux下自带的PHP不支持HTTP库,需要自己安装 pecl_http组件安装步骤如下: 1. 组件安装 1.1 安装php-devel开发组件 yum install php-devel 1.2 安装php-pecl组件 yum install php-pecl-memcache 1.3 安装pecl_http的扩展包 pecl install pecl_http 命... 阅读全文
posted @ 2014-04-19 17:38 phpdragon 阅读(2783) 评论(0) 推荐(0)
摘要:$perpage) { $offset = floor($page * 0.5); $realpages = @ceil($num / $perpage); $pages = $maxpages && $maxpages $pages) { $from = 1; ... 阅读全文
posted @ 2014-04-19 17:37 phpdragon 阅读(920) 评论(0) 推荐(0)
摘要:DedeCMS V5.7版本,在本地部署后,正确登录后台的情况下页面没有任何输出和显示(错误登录或密码错误时才有显示),也没有报错。进到脚本调试,发现问题出在userLogin类所在的脚本userlogin.class.php中(路径./include/),所用的keepUser()方法: 。 将下面代码粘贴到/include/helpers/util.helper.php中: 至... 阅读全文
posted @ 2014-04-19 17:28 phpdragon 阅读(783) 评论(0) 推荐(0)
摘要:http://blog.csdn.net/chchmlml/article/details/6887326 先下载个wmpp1.7.5(之前在xp上也是这个,所以就继续),安装,一切顺利,打开phpinfo(),没有oci8的提示,所以,进入php 目录。打开php.ini,吧extension=php_oci8.dll,extension=php_pdo_oci.dll前面的;去掉,重启 ap... 阅读全文
posted @ 2014-04-19 17:26 phpdragon 阅读(377) 评论(0) 推荐(0)
摘要:本人的开发环境: wamp最新官网wampserver2.2d-x32版。 下载点:http://nchc.dl.sourceforge.net/project/wampserver/WampServer%202/WampServer%202.2/wampserver2.2d-x32.exe PHP:5.3.10 apache :2.2.21 要使用到NetBeans的调试功能,... 阅读全文
posted @ 2014-04-19 17:21 phpdragon 阅读(607) 评论(0) 推荐(0)
摘要:Nginx 是一个轻量级,以占用系统资源少,运行效率而成为web服务器的后起之秀,国内现在很多大型网站都以使用nginx,包括腾讯、新浪等大型信息网站,还有淘宝网站使用的是nginx二次开发的web服务器。安装nginxsudo apt-get install nginxUbuntu安装之后的文件结构大致为:所有的配置文件都在/etc/nginx下,并且每个虚拟主机已经安排在了/etc/nginx/sites-available下程序文件在/usr/sbin/nginx日志放在了/var/log/nginx中并已经在/etc/init.d/下创建了启动脚本nginx默认的虚拟主机的目录设置在了 阅读全文
posted @ 2013-08-09 15:04 phpdragon 阅读(734) 评论(0) 推荐(0)
摘要:应工作要求,需要对展示的内容进行敏感信息替换。琢磨的一些时间,编写的函数匹配率还是比较高的。顺便说下思路,使用的是正则匹配替换和字符串替换。函数可以再改进.先把需要匹配的内容写好相应的正则,然后进行全部匹配遍历。获取匹配结果数组A,同时获取匹配规则B,(解决内容有多次符合匹配规则的情况,导致最后替换出现结果一样的问题)再根据结果A,和结果B,进行内容的真正匹配处理。代码: $v) { if ($v) { $pattern[$k] = '/' . $v . '/'; $strings[$k]... 阅读全文
posted @ 2013-07-04 09:57 phpdragon 阅读(598) 评论(0) 推荐(0)
摘要:工具:memcached-1.2.6-win32-bin.zipMemCached服务端程序(for win)Memcached Managerwin下的MemCached管理工具安装配置MemCached服务端下载memcached-1.2.6-win32-bin.zip,解压后得到memcach... 阅读全文
posted @ 2013-05-23 13:29 phpdragon 阅读(589) 评论(0) 推荐(0)
摘要:为了定时更新某一文件,需要程序自动运行,从网上搜到了两种方法:ignore_user_abort() 和crontab ignore_user_abort()函数搭配set_time_limit(0)和sleep($interval)即可实现程序自动运行更新,下面是一个实例 ?php ignore_user_abort(); //即使Client断开(为了定时更新某一文件,需要程序自动运行,从网上搜到了两种方法:ignore_user_abort() 和crontabignore_user_abort()函数搭配set_time_limit(0)和sleep($interval)即可实现程序自 阅读全文
posted @ 2013-05-13 17:54 phpdragon 阅读(252) 评论(0) 推荐(0)
摘要:Nginx比apache要好,优点很多,随便去搜寻引擎找一下就能找到一大把资料,这不是我们讨论的重点,我们的重点是自己做一个运行组合! 為何我不從網上下載一個別人已經封裝好的現成的版本呢?因為很多人封裝了之後就不在更新了,以後想要更新都不知道怎麼做,既然如此還不如自己好好研究一下自己封裝,將來要升級... 阅读全文
posted @ 2013-04-24 00:11 phpdragon 阅读(255) 评论(0) 推荐(0)
摘要:介绍 前几篇系列文章,我比较关注的是<PHP 杂谈《重构-改善既有代码的设计》之一 重新组织你的函数>,但是我觉得我还是没有说清楚,我自己也有很多不理解的地方,而且这篇是我的第一篇这方面的文章,有很多的纰漏,所以我会经常性的去做修改,如果大家有好的意见不妨告知一、二。 今天谈得是“接口”,此接口非“Interface”,而是一个统称。我们一般可以把供别人使用的函数或者url(一般是用于提供数据)叫接口。——可能还有别的意思,毕竟我现在还属于“菜鸟”,如果有理解上的错误,请指正。 我们知道“容易被理解和被使用的接口”,是开发良好面向对象软件的关键。——本文将介绍“使接口变得更简洁易用 阅读全文
posted @ 2013-04-08 00:09 phpdragon 阅读(233) 评论(0) 推荐(0)
摘要:介绍承接上文的PHP 杂谈《重构-改善既有代码的设计》之 重新组织你的函数继续重构方面的内容。这章主要针对数据的重构。1、争论的声音——直接访问Field还是通过函数(Accessor)访问Field2.修改Array为Object:当你看到一个Array很像一个数据结构,你可以使用Replace Array with Object,把Array变成一个对象。——数据结构更清晰。专业术语accessor:访问者,存储器——在本文翻译为“函数”dumb:哑domain class:用以处理业务逻辑presentation class:用以处理”数据表现形式“business logic:业务逻辑 阅读全文
posted @ 2013-04-08 00:07 phpdragon 阅读(170) 评论(0) 推荐(0)
摘要:索引:ØMove Method(搬移函数)Ø Move Field (搬移值域)Ø Extract Class (提炼类)Ø Inline Class (将类内联化,就是把当前的类合并到其他类中)Ø Hide Delegate (隐藏委托关系)Ø Remove Middle Man ( 移除中间人)Ø Introduce Foreign Method (引入外加函数)Ø Introduce Local Extension (引入本地扩展)介绍承接上文PHP 杂谈《重构-改善既有代码的设计》之 重新组织你的函数 ,继 阅读全文
posted @ 2013-04-08 00:01 phpdragon 阅读(175) 评论(0) 推荐(0)
摘要:点击下图,可以看大图。介绍我把我比较喜欢的和比较关注的地方写下来和大家分享。上次我写了篇《php 跟老大的对话》。还是有很多疑问,这书帮了我不少的忙。如果你比较繁忙,或者懒得看文字,建议你直接看截图,也会有很大的收获的。你可以通过比较截图中的代码就能知道孰优孰劣了。代码部分我为什么用图呢?因为我经常用手机看代码,博客园的代码在手机里乱七八糟的,还是看图比较舒服。专业术语我们毕竟是用英文字母编码,所以用一些英语单词,更能显示出我们的专业性。以下的英文单词,你如果掌握了,与其他coder交流的时候会更直接,更专业。——臭显摆一下吧,呵呵。“*”表示文中经常提到的inline:内联function: 阅读全文
posted @ 2013-04-07 22:49 phpdragon 阅读(237) 评论(0) 推荐(0)
摘要:点击下图,查看大图。介绍条件逻辑有可能十分复杂,因此本章提供一些重构的手法,专门用来简化它们。全文简述(你可直接跳过下面的内容) 核心重构:Decompose Conditional——分离”转辙逻辑“(switching logic)和”操作细节“(details)分离。 多处测试有相同结果:Consolidate Conditional Expresssion 条件代码中去掉重复成分:Consolidate Duplicate 标识特殊情况:Replace Nested Conditional with Guard Clauses 去除讨厌的控制标记:Remove Control... 阅读全文
posted @ 2013-04-07 22:30 phpdragon 阅读(292) 评论(0) 推荐(0)
摘要:第一步:下载openssl for windowshttp://downloads.sourceforge.net/gnuwin32/openssl-0.9.8h-1-setup.exe安装到C盘默认路径第二步:打开命令提示符,切换工作目录到开始转格式:OK! 阅读全文
posted @ 2013-03-27 13:48 phpdragon 阅读(273) 评论(0) 推荐(0)
摘要:PHP手册里有一句话:永远不要比较两个浮点数是否相等。以前没太在意,最近在项目中因为这个问题掉坑里了,所以留文铭记。计算机内部处理浮点数的方式决定了浮点数不可能100%的精确,所以在处理浮点数运算时会出现精度损失问题。比如下面这段程序:<?$a &nbsp; = &nbsp; 15521.42;$b &nbsp; = &nbsp; 15480.3;$c = $a-$b;var_dump($c); &nbsp; &nbsp;//php4:float(41.120000000001) &nbsp; php5:float(41.12)va 阅读全文
posted @ 2013-01-29 15:26 phpdragon 阅读(982) 评论(0) 推荐(0)
摘要:原文地址: http://blog.163.com/zbstrive_work@126/blog/static/165378687201292695832759/PERCONA PERFORMANCE CONFERENCE 2009上,来自雅虎的几位工程师带来了一篇”Efficient Pagination Using MySQL“的报告,有很多亮点,本文是在原文基础上的进一步延伸。首先看一下分页的基本原理:mysql> explain SELECT * FROM message ORDER BY id DESC LIMIT 10000, 20\G***************** 1. 阅读全文
posted @ 2012-12-19 23:20 phpdragon 阅读(237) 评论(0) 推荐(0)
摘要:原文地址:http://coolshell.cn/articles/8711.html几个月在我的微博上 说过要建一个程序员疫苗网站,希望大家一起来提交一些错误示例的代码,来帮助我们新入行的程序员,不要让我们的程序员一代又一代的再重复地犯一些错误。很 多程序上错误就像人类世界的病毒一样,我们应该给我们的新入行的程序员注射一些疫苗,就像给新生儿打疫苗一样,希望程序员从入行时就对这些错误有抵抗力。我的那个疫苗网站正在建议中(不好意思拖了很久),不过,我可以先写一些关于程序员疫苗性质的文章,也算是热热身。希望大家希望,先向大家介绍第一注疫苗——代码注入。Shell注入我们先来看一段perl的代码:u 阅读全文
posted @ 2012-12-10 23:56 phpdragon 阅读(311) 评论(0) 推荐(0)