PHP
文章平均质量分 62
luochuan
程序员
PHP/JAVASCRIPT/JQUERY/DIV CSS/ThinkPHP
展开
-
用xdebug分析PHP以及结果分析程序webgrind的使用
我们在做项目的时候,经常需要编写大量的PHP代码,有很多的方法以及变量,当项目进行到一定程度,代码越来越多,你会发现程序变慢,但有时我们不知道具体是哪块代码执行慢,或者哪个方法占用了太长的执行时间,这时我们就需要一个调试工具,来帮我们记录程序执行过程中的一些具体信息,包括类、方法名、执行时间、次数等信息,今天介绍的工具是xdebug以及他的结果分析展示工具webgrind。 xdebug是原创 2012-01-13 10:00:00 · 1501 阅读 · 1 评论 -
windows下Mysql启动不了解决方案
首先看Mysql错误日志,日志位置:./mysql/data/mysql_error.log121203 13:13:44 [ERROR] Can't start server: Bind on TCP/IP port: No such file or directory121203 13:13:44 [ERROR] Do you already have another mysqld原创 2012-12-03 13:25:50 · 10443 阅读 · 1 评论 -
iis配置支持运行PHP
iis6、7支持以fastcgi方式运行php程序 安装php下载:windows.php.net//downloads/releases/php-5.3.19-nts-Win32-VC9-x86.msi安装过程中选择iisfastcgi方式安装 如果没有安装IIS FASTCGI的 下一步会提示没有安装的,下载安装就行了FastCGI for IIS 6 7原创 2012-11-24 23:48:41 · 807 阅读 · 0 评论 -
thinkphp多数据库动态切换
thinkphp作为国内使用广泛的PHP框架,功能很强大,数据库支持方面做的也很好,并支持mongo操作,我们的项目是配置了两台数据库,一主一从,读写分离,最近要做一个活动,要求读写都在一个库上,所以需要动态建立多个数据库连接,主连接跟活动数据库连接,配置方式如下首先配置默认数据库,两台,一主一从,读写分离配置信息在项目工程文件夹下的Conf/config.php'DB_T原创 2012-10-22 11:45:47 · 4123 阅读 · 2 评论 -
php curl扩展安装及使用
php的curl扩展已经内置到php的安装包里,我们无需重新下载,位置php-5.3.6/ext/curl安装#cd php-5.3.6/ext/curl#/usr/local/php/bin/phpize#./configure #make#make install安装完成之后将生成的curl.so复制到php扩展的存放目录,然后#vi /usr/原创 2012-09-21 15:53:52 · 1506 阅读 · 0 评论 -
PHP使用zlib实现页面的gzip压缩输出
php中的GZIP(GNU-ZIP)是一种压缩技术。经过GZIP压缩后页面大小可以变为原来的30%甚至更小。这样用户浏览的时候就会感觉很快。 要实现GZIP压缩页面需要浏览器和服务器共同支持,实际上就是服务器压缩,传到浏览器后浏览器解压并解析。浏览器那边不需要我们担心,因为现在绝大多数浏览器都支持解析GZIP过的页面。我们只要把页面在服务器端压缩再输出到浏览器就行了。原创 2012-10-10 10:03:09 · 1419 阅读 · 1 评论 -
jquery插件AjaxFileUpload实现ajax文件上传
插件下载地址:http://www.phpletter.com/contents/ajaxfileupload/ajaxfileupload.js注意:新版的jquery中移除了handleError方法,该插件需要用到这个方法,我们需要将以下代码加入到ajaxfileupload.js文件中handleError: function( s, xhr, status, e ) {原创 2012-09-13 12:56:57 · 997 阅读 · 0 评论 -
HTML5新功能websocket的学习与备忘-PHP版(二)
前一篇: websocket基础知识介绍关于websocket,网上搜索到的实现代码很多,但是用PHP做socket服务器的资料比较少,根据搜索到的资料以及自己的研究,记下此文。websocket客户端的具体实现代码以及服务器(PHP)端代码介绍,本文的代码只是一个小的demo,实现简单的通信,客户端发送一个字符串,服务器端接收到字符串并响应给客户端浏览器(firefox),支原创 2012-01-13 15:36:30 · 3232 阅读 · 1 评论 -
Code Swarm生成可视化项目代码贡献视频
Code Swarm一个可以生成可视化项目代码贡献视频的软件,支持使用svn、cvs、git等代码管理工具提交的日志生成动画。参考视频:豆瓣代码大爆炸视频下面介绍svn的提交日志生成代码视频环境需求JAVA环境 http://www.python.org/download/python环境 http://www.java.com/zh_CN/原创 2012-09-29 14:01:33 · 1292 阅读 · 0 评论 -
php安装扩展mysqli
terminal#cd php-5.3.6/ext/mysqli#/usr/local/webserver/php/bin/phpize#./configure --with-php-config=/usr/local/webserver/php/bin/php-config#make#make instal报错:checking for MySQLi support...原创 2012-11-22 22:20:25 · 5871 阅读 · 0 评论 -
IIS6/7安装配置Rewrite扩展模块
Rewrite能做什么,地址静态化。让动态的文件用静态地址表现。更好的SEO更好的目录结构,更好的权重结构。更好的....下载地址:ISAPI_Rewrite3 full完整版 静态化组件 ISAPI_Rewrite3_0082安装1、先安装ISAPI_Rewrite3_0082.msi2、安装好以后,用下载文件里的两个文件覆盖。3、在安装目录下找到 h原创 2012-12-07 10:01:40 · 1623 阅读 · 0 评论 -
PHP设计模式之单例模式
单例模式比较好理解,看看介绍,然后看看代码基本也就能够理解了,设计模式这些的花点心思基本的是能够理解的,当然要想很好的运用到项目上也是需要一定的实践,不能只是知道了解,或者说的是很厉害很懂的,一到要实际操作就不行了,废话就不多说了,PHP战线上的同志们都加油吧;单例模式(职责模式): 简单的说,一个对象(在学习设计模式之前,需要比较了解面向对象思想)只负责一个特定的任务;转载 2013-05-28 13:53:49 · 596 阅读 · 0 评论 -
windows环境PHP调用DotNetZipLib处理zip64文件
项目功能:web系统为整个项目系统的软件提供自动升级功能具体流程:用户在web系统上传更新文件,然后PHP将文件压缩为zip包,C#编写的客户端服务软件下载该zip包并解压到相应的软件目录进行软件更新功能问题:PHP的zipArchive类只能支持常规zip文件的压缩,而C#客户端需要zip64格式的压缩文件,所以我们这里需要用PHP的COM类来加载DotNetZipLib的Ionic.Z原创 2013-04-16 11:51:18 · 2344 阅读 · 0 评论 -
PHP导出EXCEL类库-PHPExcel【备忘】
PHP导出Excel的强大类库 - PHPExcel官网:http://phpexcel.codeplex.com/说明:官网的完整库太大了,网上有一个精简版的类库精简版下载地址:http://pan.baidu.com/share/link?shareid=184539&uk=704879932使用备忘:精简版压缩包里有一个index.php的使用实例,但是例子比原创 2013-01-11 00:05:35 · 674 阅读 · 0 评论 -
PHP源码加密
urlencode/urldecode方式<?phpfunction RandAbc($length=""){//返回随机字符串 $str="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; return str_shuffle($str);}$filename='foo.php';$T_k1=RandAbc();//转载 2013-01-07 14:55:50 · 2066 阅读 · 1 评论 -
php将图片直接写入SQLServer2008
SQLServer2008的image字段类型支持将图片、文本文件等直接存入数据库,image类型是以十六进制的格式存储的,所以我们想把图片直接写入数据库,只需要以二进制流的方式读取要存储的图片然后转为十六进制字符串存入数据库即可。具体过程:<?php$image = "test.jpg";//打开图片,b参数是为兼容windows系统$fp = fopen($image, "rb"原创 2012-12-28 20:59:31 · 2098 阅读 · 0 评论 -
PHP获取未知MIME类型(如text/xml)的请求数据
PHP默认识别的数据类型是application/x-www.form-urlencoded标准的数据类型,我们在接收这种常规的数据类型的时候可以用全局数组$_REQUEST、$_POST或者$_GET来获取客户端请求的数据。如果遇到未识别MIME类型的请求数据,如Content-Type=text/xml 类型或者直接POST一个JSON数据流,那么PHP要怎么获取数据呢,PHP文档里是这么原创 2012-12-11 15:03:27 · 1975 阅读 · 0 评论 -
人人围网站宕机原因及解决方法分析
首先打个广告,我们的网站人人围,一个社交、新闻分发平台:http://www.renrenwei.com/服务器架构:nginx+mysql+mongodb+php,用户登录信息session存在mongodb中受攻击情况:11-23号左右开始持续一周的DDOS攻击,有大量的北京、广东、海外的IP不停的刷网站的注册信息,两三天内注册用户数量达到7-8万,由于IP不同,所以无原创 2012-12-09 13:57:01 · 709 阅读 · 0 评论 -
windows配置PHP支持读写sqlserver2008
windows系统下,PHP5.3以上的版本已经不支持mssql扩展,所以如果你需要和sql server通信需要下载微软公司专门为PHP提供的sqlserver驱动Microsoft Drivers 3.0 for PHP for SQL Server下载地址:http://www.microsoft.com/en-us/download/details.aspx?id=20098原创 2012-12-07 21:03:42 · 564 阅读 · 0 评论 -
nginx配置rewrite时报directive “rewrite” is not terminated by “;”
nginx中可以使用rewrite配置url的重定向,rewrite指令可以位于server段,也可以位于location中,配置rewrite后通过/usr/local/nginx/sbin/nginx -t检查配置时,出现如下错误:nginx: [emerg] directive "rewrite" is not terminated by ";" in /usr/local/nginx/原创 2012-08-20 16:03:16 · 3826 阅读 · 0 评论 -
nginx rewrite 配置参数及例子
Location语法语法:location [=|~|~*|^~] /uri/ { … }location = / {# 只匹配 / 查询。[ configuration A ]}location / {# 匹配任何查询,因为所有请求都已 / 开头。但是正则表达式规则和长的块规则将被优先和查询匹配。[ configuration B ]}locati转载 2012-08-20 15:53:56 · 1759 阅读 · 0 评论 -
PHP中文分词算法及代码实现
简单的中文分词算法,二元分词的PHP代码:$str = '苏杭,人间的天堂paradise!';//$str = iconv('GB2312','UTF-8',$str);$result = spStr($str);print_r($result);/** * UTF-8版 中文二元分词 */function spStr($str){ $cstr = array();原创 2012-02-27 23:54:12 · 4480 阅读 · 0 评论 -
nginx负载均衡session共享解决方案
PHP服务器有多台,用nginx做负载均衡,这样同一个IP访问同一个页面会被分配到不同的服务器上,如果session不同步的话,就会出现很多问题,比如说最常见的登录状态,下面提供了几种方式来解决session共享的问题:1、不使用session,换用cookiesession是存放在服务器端的,cookie是存放在客户端的,我们可以把用户访问页面产生的session放到cookie原创 2012-02-25 15:08:36 · 5338 阅读 · 2 评论 -
求24点表达式的php实现
将给定的四个数做四则运算,每个数只能用一次,结果得到给定的值,求该运算表达式鸟哥的微博上看来的,代码如下:<?php/** * 将给定的四个数做四则运算,每个数只能用一次,结果得到给定的值,求该运算表达式 * by wbq 2012-2-14 * $n:数组四个数可以是任意0-99 * $r:要运算的结果值 */$n = array(1,2,3,4);$r = 30;原创 2012-02-15 09:46:58 · 787 阅读 · 0 评论 -
HTML5新功能websocket的学习与备忘-PHP版(一)
首先认识HTML5的websocket:在HTML5规范中,我最喜欢的Web技术就是正迅速变得流行的WebSocket API。WebSocket提供了一个受欢迎的技术,以替代我们过去几年一直在用的Ajax技术。这个新的API提供了一个方法,从客户端使用简单的语法有效地推动消息到服务器。让我们看一看HTML5的WebSocket API:它可用于客户端、服务器端。而且有一个优秀的第三方API,原创 2012-01-13 13:40:46 · 2639 阅读 · 0 评论 -
nginx+PHP服务器环境安装与配置学习(一) - windows系统基础环境搭建
nginx简介: Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。nginx优点: Nginx 可以在大多数 Unix like OS 上编译运行,并有 Windows 移植版。目前 Nginx 的1.0.9稳定版已经于2011年11月1日发布,开发版本已完成的为1.1.8原创 2012-02-09 15:26:15 · 1210 阅读 · 0 评论 -
PHP的pack方法总结备忘
前面在研究websocket的时候用到了pack跟unpack方法,这两个方法一直让我感觉起来比较深奥,当时从网上找了很多资料来研究,现在把这两个函数的使用方法以及参数介绍记下来,以作备忘先看pack方法的说明:pack -- 将数据打包成二进制字符串语法:string pack(string format, mixed [args]...);参数一:format参数表示以什么格式原创 2012-02-03 17:12:37 · 861 阅读 · 0 评论 -
PHP中错误报告值参数及说明的查询备忘
PHP中通过设置error_reporting的参数值可以控制错误报告级别,当然你可以在php.ini中配置也可以在PHP代码中动态修改。下面是error_reporting的参数值列表,以作备忘:; E_ALL - 所有错误和警告 (不包含 E_STRICT); E_ERROR - 致命的运行时错误; E_RECOVERABLE_E转载 2012-01-30 17:10:32 · 462 阅读 · 0 评论 -
关于PHP的static(静态)变量
首先明确一下static在语法上的定义:PHP中的类中,静态变量前要加static关键字修饰,而实例变量前则不加。静态变量是什么:静态变量可以直接用类名加::调用,而不需要去实例化类,静态变量的生命周期取决于类的生命周期,静态变量一旦被调用,就会始终存在内存中,直到程序结束之后,静态变量才会被注销。静态变量亦有作用域,在作用域之外不能使用。我们看一段代码class原创 2012-01-13 09:50:24 · 882 阅读 · 0 评论 -
PHP安全基础学习与总结
PHP安全基础注意事项:1、关闭全局变量注册register_globals2、开启错误报告,开发环境上设置错误报告级别为E_ALL | E_STRICT,生产环境关闭错误报告,同时,PHP提供了set_error_handler( )方法,该方法允许用户定义自己的出错处理函数<?phpset_error_handler("my_error_handler";function原创 2012-02-20 23:06:51 · 1158 阅读 · 0 评论 -
PHP+MySQL+SPHINX安装配置与测试
Sphinx概述:Sphinx是一个基于SQL的全文检索引擎,可以结合MySQL,PostgreSQL做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索。Sphinx特别为一些脚本语言设计搜索API接口,如PHP,Python,Perl,Ruby等,同时为MySQL也设计了一个存储引擎插件。Sphinx 单一索引最大可包含1亿条记录,在1千万条记原创 2012-03-02 22:57:09 · 6872 阅读 · 1 评论 -
php-fpm的重启/关闭
php 5.3.3 下的php-fpm 不再支持 php-fpm 以前具有的 /usr/local/php/sbin/php-fpm(start|stop|reload)等命令,需要使用信号控制:master进程可以理解以下信号INT,TERM 立刻终止QUIT 平滑终止USR1 重新打开日志文件USR2 平滑重载所有worker进程并重新载入配置和二进原创 2012-08-16 15:49:16 · 5327 阅读 · 0 评论 -
thinkphp封装phpredis类
redisModel类扩展:Think/Extend/Model/redisModel.class.php配置项定义:conf/config.php/*Redis设置*/'REDIS_HOST' => 'localhost', //主机'REDIS_PORT' => 6379, //端口'REDIS_DBNAME' => 'appdb', //库名'REDIS原创 2012-05-25 12:47:42 · 6598 阅读 · 2 评论 -
php redis中文文档
phpredis是php的一个扩展,效率是相当高有链表排序功能,对创建内存级的模块业务关系很有用;以下是redis官方提供的命令使用技巧:下载地址如下:https://github.com/nicolasff/phpredis/downloads安装#tar zvxf nicolasff-phpredis-2.2.1-27-gf8f552e.tar.gz #cd nic转载 2012-05-24 10:27:22 · 988 阅读 · 0 评论 -
php小知识 - 开启短标记支持
PHP默认支持简写标记是:?>但他也可以支持像以下的PHP标记:我们称其为短标记,要使用短标记,需要修改php.ini中的short_open_tag=On原创 2012-05-14 21:08:08 · 698 阅读 · 0 评论 -
Mysql数据库性能优化【转载】
文章作者:简朝阳Blog地址:http://isky000.comMySQL数据库性能优化之缓存参数优化http://isky000.com/database/mysql-perfornamce-tuning-cache-parameterMySQL数据库性能优化之表结构优化http://isky000.com/database/mysql-perf转载 2012-05-31 17:21:06 · 553 阅读 · 0 评论 -
MAC OS下配置PHP的高效IDE - MACVIM
安装MACVIMMACVIM下载地址:https://github.com/b4winckler/macvim/downloads解压缩下载到的文件,然后将MacVim.app复制到Applications文件夹下,右键点击该app文件,点选show package contents可以看到app里面的详细文件信息,包括macvim以及vim的源文件,后面我们可以在该目录下修改macvim原创 2012-02-12 23:29:16 · 9596 阅读 · 0 评论 -
在Mac OS X中配置Apache + PHP + MySQL + PHPMYADMIN
原文参考:在Mac OS X中配置Apache + PHP+ MySQL 最近开始对linux感兴趣,刚好手边有mac book,这简直是天助我也,在网上搜索了一下,原来macos中内置了apache和php,却没有内置mysql,所以我们需要配置apache支持php,并安装mysql。macos系统版本10.7.1 lion启动Apache有两种方法:打转载 2012-01-13 10:16:33 · 1111 阅读 · 0 评论 -
为macos的php配置pdo_mysql扩展
MACOSlion系统的php运行环境在上一篇文章已经介绍了,这一篇是关于为php配置支持pdo_mysql扩展库的,zend官方已经不建议使用mysql直连函数来操作mysql数据库,所以在以后的程序中,我们开始换用pdo以及mysqli,pdo是什么我想大家都很清楚了,这里我们不再说明,下面开始具体的安装过程: 首先打开终端,cd命令进入php的源码包里,进入到ext/pdo_mysq原创 2012-01-13 10:17:48 · 4780 阅读 · 1 评论 -
Ubuntu11安装配置nginx+mysql+php
LNMP安装配置mysql : http://dev.mysql.com/downloads/mysql/php :http://cn.php.net/get/php-5.3.6.tar.gz/from/cn2.php.net/mirrornginx :http://nginx.org/download/nginx-1.0.13.tar.gz注意:mysql下载类型选择sour原创 2012-03-10 22:24:43 · 619 阅读 · 0 评论