PHP
文章平均质量分 77
分懂课堂
程序是我人生中最大的乐趣 。强项PHP,LINUX C, JAVA,MYSQL,LINUX SHELL
展开
-
使用 gdb 调试 PHP 扩展
php的扩展使用c/c++开发,可以很容易的使用gdb进行调试。具体步骤如下:首先编译php的时候需要加上** --enable-debug**参数./configure --enable-debugmake && make install在我的ubuntu机器上面测试,扩展的目录默认为/usr/local/lib/php/extensions/debug-non-zts-20转载 2016-11-25 19:50:53 · 3507 阅读 · 1 评论 -
PHP函数的实现原理及性能分析
<br />作者:HDK (百度) 前言 <br />在任何语言中,函数都是最基本的组成单元。对于php的函数,它具有哪些特点?函数调用是怎么实现的?php函数的性能如何,有什么使用建议?本文将从原理出发进行分析结合实际的性能测试尝试对这些问题进行回答,在了解实现的同时更好的编写php程序。同时也会对一些常见的php函数进行介绍。 php函数的分类 <br />在php中,横向划分的话,函数分为两大类: user function(内置函数) 和internal function(内置函数)。前者就转载 2010-09-24 21:16:00 · 376 阅读 · 0 评论 -
关于腾讯的那道题截取字符串的题
<br />题目是:<br />假设有"123<em>abc</em>456<em>def</em>789"这么一个字符串,写一个函数,可以传入一个字符串,和一个要截取的长度。返回截取后的结果。<br /><br />要求:<br />1 <em>和</em>标记不得计算在长度之内。<br />2 截取后的字符串,要保留原有<em>标签,不过如果最后有一个标签没有闭合,则去掉其开始标签。<br /><br />示例:<br />题中的字符串,要截取长度5,则返回的字符串应该为:123ab,要截取长度8,应返转载 2010-09-18 23:32:00 · 543 阅读 · 0 评论 -
win下php扩展vc6编译
1.下载php源码包 cygwin 准备工作<br /><br />http://cn.php.net/get/php-5.2.6.tar.gz/from/a/mirror<br /><br />http://www.cygwin.cn/setup.exe<br /><br /><br /><br />2.<br /><br />修改<br /><br />php-5.2.6/ext/ext_skel_win32.php<br /><br />文件里<br /><br />$cygwin转载 2010-06-21 15:01:00 · 617 阅读 · 0 评论 -
如何编写PHP扩展
<br />如何编写PHP扩展<br /> <br /> <br />翻译:taft@wjl.cn<br /> <br />Ver 0.1<br /> <br />最后修改日期2006/1/19<br /> <br />WJL Studio @ wjl.cn 2006<br /> <br /><br /><br /><br /><br />目录<br /> <br /> <br />简介.... 3<br />快速开始.... 3<br />内存管理.... 7<br />从PHP函数中返回值.... 7<转载 2010-06-14 15:53:00 · 490 阅读 · 0 评论 -
在PHP5中使用DOM控制XML
PHP5中增强了XML的支持,使用DOM扩展了XML操作的能耐。这些函数作为 PHP5 核心的一部分,无需被安装即可使用。下面的例子简单的演示了DOM对XML的操作,详细解释请看<a onclick="javascript:tagshow(event, %B4%FA%C2%EB);" href="javascript:;" t转载 2010-05-09 20:36:00 · 443 阅读 · 0 评论 -
PHP 实现多服务器共享SESSION数据
一、问题起源稍大一些的网站,通常都会有好几个服务器,每个服务器运行着不同功能的模块,使用不同的二级域名,而一个整体性强的网站,用户系统是统一的,即一套用户名、密码在整个网站的各个模块中都是可以登录使用的。各个服务器共享用户数据是比较容易实现的,只需要在后端放个数据库服务器,各个服务器通过统一接口对用户数据进行访问即可。但还存在一个问题,就是用户在这个服务器登录之后,进入另一个服务器转载 2010-05-04 21:49:00 · 905 阅读 · 0 评论 -
大型网站调试工具之一(php性能优化分析工具XDebug)
一、安装配置 1、下载PHP的XDebug扩展,网址:http://xdebug.org/ 2、在Linux下编译安装XDebug引用tar -xzf xdebug-2.0.0RC3.gzcd xdebug-2.0.0RC3/usr/local/php/bin/phpize./configure --enable-xdebugcp modules/xdebug.so /usr/lo转载 2010-04-25 00:57:00 · 778 阅读 · 0 评论 -
Profiling with XHProf
If there’s something we developers are really bad at, it’s guessing. We think we know which parts of our application are slow, and spend a lot of time optimising those, but in reality the bottlenecks转载 2010-04-25 00:48:00 · 1121 阅读 · 0 评论 -
php操作memcache总结
1.简介memcache模块是一个高效的守护进程,提供用于内存缓存的过程式程序和面向对象的方便的接口,特别是对于设计动态web程序时减少对数据库的访问。memcache也提供用于通信对话(session_handler)的处理。更多Memcache 模块相关信息可以到 http://www.danga.com/memcached/查阅。1.1.memcache在php.ini中的配置项列表memcache在php.ini中的配置项列表名称默认值是否可变改原创 2011-01-13 14:52:00 · 801 阅读 · 1 评论 -
Nginx+PHP+MySQL双机互备、全自动切换方案
<br />原文链接:http://blog.s135.com/post/379/<br /> <br />在生产应用中,某台“Nginx+PHP+MySQL”接口数据服务器,扮演的角色十分重要,如果服务器硬件或Nginx、MySQL发生故障,而短时间内无法恢复,后果将非常严重。为了避免单点故障,我设计了此套方案,编写了failover.sh脚本,实现了双机互备、全自动切换,故障转移时间只需几十秒。<br /><br />一、双机互备、全自动切换方案:<br />1、拓扑图:<br /><br />转载 2011-04-21 17:24:00 · 599 阅读 · 0 评论 -
hash简介
原文http://bbs.phpchina.com/thread-210966-1-1.html直奔主题。先引用鸟哥的原文:http://www.laruence.com/2009/07/23/994.html “PHP数组的定义,本质上是一种键-值映射的关系,算是一种散列表(哈希表)。PHP的数组,关联数组,对象属性,函数表,符号表,等等都是用HashTable来做为容器的转载 2011-10-30 01:12:47 · 1719 阅读 · 0 评论 -
php进程间通讯常量定义
SIGHUP = 1SIGINT = 2SIGQUIT = 3SIGILL = 4SIGTRAP = 5SIGABRT = 6SIGIOT = 6SIGBUS = 10SIGFPE = 8SIGUSR1 = 30SIGSEGV = 11SIGUSR2 = 31SIGPIPE = 13SIGALRM = 14SIGTERM = 15SIGS转载 2016-04-14 14:49:09 · 504 阅读 · 0 评论 -
PHP.INI安全配置
(1) 打开php的安全模式 php的安全模式是个非常重要的内嵌的安全机制,能够控制一些php中的函数,比如system(), 同时把很多文件操作函数进行了权限控制,也不允许对某些关键文件的文件,比如/etc/passwd, 但是默认的php.ini是没有打开安全模式的,我们把它打开: safe_mode = on(2) 用户组安全 当safe_mode打开时,s转载 2016-03-30 16:38:04 · 461 阅读 · 0 评论 -
php扩展memcached的安装
一,为什么要装memcached扩展memcached的1.2.4及以上增加了CAS(Check and Set)协议,对于同一key的多进行程的并发处理问题。这种情况其实根数据库很像,如果同时有几个进程对同一个表的同一数据进行更新的话,那会不会打架呢,哈哈。数据库里面可以锁定整张表,也可以锁定表里面一 行的功能,其实memcached加入的CAS根这个差不多。php的扩展memc原创 2013-01-16 10:48:27 · 1360 阅读 · 1 评论 -
比较全面的gdb调试命令
用GDB调试程序 GDB是一个强大的命令行调试工具。大家知道命令行的强大就是在于,其可以形成执行序列,形成脚本。UNIX下的软件全是命令行的,这给程序开发提代供了极大的便利,命令行软件的优势在于,它们可以非常容易的集成在一起,使用几个简单的已有工具的命令,就可以做出一个非常强大的功能。 于是UNIX下的软件比Windows下的软件更能有机地结合,各自发挥各自的长处,组合成更转载 2013-01-04 09:29:21 · 503 阅读 · 0 评论 -
用gdb调试php程序
有一个php程序,命令行执行时如下:[root@h10-vm08 demo]# php ParseFile.php xxxx.ykml *** glibc detected *** free(): invalid pointer: 0xb7869b7c ***Aborted[root@h10-vm08 demo]# 这个php程序调用的php extens转载 2012-12-29 18:13:32 · 2721 阅读 · 0 评论 -
在PHP Module中获取$_GET/$_POST/$_COOKIE的方法研究
今天翻鸟哥的blog看这个转了一下,这是写扩展取变量值最基本的入门,但还有一方法,大家都不常用,通过hashtable去find这全局变量。有空再把方法贴上来· 作者:laruence(http://www.laruence.com/)· 本文地址: http://www.laruence.com/2008/04/04/17.html· 转载请注明出处转载 2011-10-30 13:02:54 · 544 阅读 · 0 评论 -
Integrating PHP and Perl
Perl is a language often associated with text processing and CGI. PHP isa language often associated with dynamic Web pages. Both are very popularwith Web developers. Often, each of these lang转载 2009-12-31 10:16:00 · 689 阅读 · 0 评论 -
【转】高级PHP应用程序漏洞审核技术
作者:Ph4nt0m Security Team来源:http://www.ph4nt0m.org-a.googlepages.com/PSTZine_0x03_0x06.txt ==Ph4nt0m Security Team==转载 2010-01-01 15:28:00 · 626 阅读 · 0 评论 -
对HTTP协议的头信息详解
HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,它用于传送WWW方式的数据,关于HTTP 协议的详细内容请参考RFC2616。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求,请求头包含请求的方法、URI、协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME的消息结构。服务器以一个状态行作为响应,相应的内容包括消息协议的版转载 2009-11-03 22:14:00 · 472 阅读 · 0 评论 -
HTTP协议详解
引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行转载 2009-11-03 22:09:00 · 132 阅读 · 0 评论 -
正则表达式
3. 正则表达式定义 正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。 列目录时, dir *.txt或ls *.txt中的*.txt就不是一个正则表达式,因为这里*与正则式的*的原创 2009-10-12 11:45:00 · 459 阅读 · 0 评论 -
用C来扩展我们的PHP
到PHP的安装目录下[root@test1 ext]# cd /root/php/php5.2/ext[root@test1 ext]# ./ext_skel --extname=cltest修改 配置文件config.m4[root@test1 ext]# vi cltest/config.m4 删除 3 个 dnldnl PHP_ARG_WI原创 2009-10-12 11:32:00 · 952 阅读 · 0 评论 -
PHP Magic Method
(1)初识魔术方法 Php5.0发布以来为我们提供了很多面向对象的特性,尤其是为我们提供了好多易用的魔术方法,这些魔术方法可以让我们简化我们的编码,更好的设计我们的系统。今天我们就来认识下php5.0给我们提供的魔术方法。 1,__construct() 当实例化一个对象的时候,这个对象的这个方法首先被调用。 cla原创 2009-10-12 11:25:00 · 2127 阅读 · 1 评论 -
PHP 实现的项目构建工具:Phing
前言Phing 是一个 PHP 实现的项目构建工具。按照官方文档的说法,你可以用它做任何传统的构建(build/make)工具(比如 Java 的 Ant,GNU Make 等)能做的所有工作。PHP 中比较有名的 framework: Symfony 就用到了 Phing — 顺便提一下,Symfony 中还用到了另外一个 PHP 的轻量级 build 工具: PHP P原创 2009-10-12 11:24:00 · 2051 阅读 · 0 评论 -
PHP ZIP Class
class Phpzip{ function zip($dir, $zipfilename, $drop=false) { if (substr($dir, -1) != /) { $dir = ($dir == ) ? ./ : $dir . /; }原创 2009-10-12 11:22:00 · 836 阅读 · 0 评论 -
PHP optimize
Why "micro-"? Because changing logic of your application may give you much better performance boost then applying all these tips. But they still can make your code better. You always need to output so原创 2009-10-12 11:16:00 · 491 阅读 · 0 评论 -
php中$_SERVER参数HTTP_X_FORWARDED_FOR & REMOTE_ADDR与获取IP
在PHP中使用 $_SERVER["REMOTE_ADDR"] 来取得客户端的 IP地址,但如果客户端是使用代理服务器来访问,那取到的就是代理服务器的 IP 地址,而不是真正的客户端 IP地址。要想透过代理服务器取得客户端的真实 IP 地址,就要使用 $_SERVER["HTTP_X_FORWARDED_FOR"] 来读取。不过要注意的事,并不是每个代理服务器都能用 $_SE转载 2009-11-05 09:40:00 · 632 阅读 · 0 评论 -
大型高并发高负载网站的系统架构
转载本文请著名出处:Just Do IT (http://www.toplee.com) lee@toplee.com我在Cernet做过拨号接入平台的搭建,而后在Yahoo3721负载搜索引擎前端平台开发,又在猫扑处理过大型社区猫扑大杂烩的架构升级等工作,同时自己接触和开发过不少大中型网站的模块,因此在大型网站应对高负载和并发的解决方案上有一些积累和经验,可转载 2009-11-06 10:08:00 · 393 阅读 · 0 评论 -
详细解释PHP中header和content-type参数
void header ( string string [, bool replace [, int http_response_code]] )void header ( string string [, bool replace [, int http_response_code]] )header()是用来发送 HTTP Header的。replace是个可选的参转载 2009-11-04 14:43:00 · 2400 阅读 · 1 评论 -
rsync中文手册
标题:rsync中文手册 用rsync实现网站镜像和备份出处:linux学习笔记时间:Thu, 07 Jun 2007 18:04:48 +0000作者:zhurry地址:http://linux.shopa.cn/read.php?4内容:rsync中文手册2007-03-29 14:56用rsync实现网站镜像和备份简介对于选择Linux 作为应用平台的原创 2009-12-17 15:18:00 · 602 阅读 · 0 评论 -
如何加快页面加载速度?
如何如何咧?yahoo在这方面给出的参考。1. 减少HTTP请求次数 80%的反应时间是在前端(浏览器)需要下载页面中包含的元素,比如图片,样式表,Flash动画等等。减少这些页面的请求是加速的关键图片:可以把很多小图片合成一张单独的图片。总大小差不多,但是可以减少HTTP请求的次数,CSS Sprites 是一个很好的减少图片请求的方法,方法是把很多张图片合成一张大图,然后用CSS转载 2009-12-07 21:30:00 · 1491 阅读 · 0 评论 -
php 循环删除一个目录或清空一个目录
Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE转载 2010-02-03 17:27:00 · 1039 阅读 · 0 评论 -
GD缩略图
写文字水印,可选文字颜色、大小、宽度、字体、透明度、位置图片水印,可以把另一张图片当水印写入指定文件名保存可以在浏览器显示(调试用的)/********************************************************************************* GD缩略图类* 功能:按转载 2009-11-17 22:31:00 · 925 阅读 · 0 评论 -
CURL 详解
bool curl_setopt (int ch, string option, mixed value)curl_setopt()函数将为一个curl会话设置选项。option参数是你想要的设置,value是这个选项给定的值。下列选项的值将被作为长整形使用(在option参数中指定): *curlopt_infilesize: 当你上传一个文件到远程站点,这个选项告诉php你上转载 2009-11-17 22:50:00 · 522 阅读 · 0 评论 -
扩展PHP:Zend API中对参数的处理
判断参数的个数使用ZEND_NUM_ARGS()宏定义可以得到参数的个数。(宏定义一般都是大写字母)例如:if(ZEND_NUM_ARGS() != 2) WRONG_PARAM_COUNT;这里,WRONG_PARAM_COUNT同样是一个宏定义(zend_API.h):ZEND_API void wrong_param_count(void);#define转载 2009-11-14 16:10:00 · 839 阅读 · 0 评论 -
快速开发一个PHP扩展
快速开发一个PHP扩展 本文通过非常快速的方式讲解了如何制作一个PHP 5.2 环境的扩展(PHP Extension),希望能够在图文的方式下让想快速学习的朋友了解一下制作过程。需求:比如开发一个叫做 heiyeluren 的扩展,扩展里就一个函数 heiyeluren_test(),输入一个字符串,函数返回:Your input string: xxxxx。要求:了解C/C++转载 2009-11-01 21:29:00 · 727 阅读 · 0 评论 -
谈PHP生成静态页面
一、引 言在速度上,静态页面要比动态页面的比方php快很多,这是毫无疑问的,但是由于静态页面的灵活性较差,如果不借助数据库或其他的设备保存相关信息的话,整体的管理上比较繁琐,比方修改编辑.比方阅读权限限制等,但是,对应一些我们经常频频使用的文件,比方说,开发的新闻发布系统,我们不希望很多用户都读取数据库才显示结果,这样一方面消耗了服务器的资源,另一方面占去了浏览者大量可贵的响原创 2009-11-06 10:32:00 · 418 阅读 · 0 评论 -
一些使用频率比较高的PHP函数
在php开发中,我们经常会遇到一些函数,下面是整理好的,可以直接使用,方便开发效率,不过建议大家一定要先看懂,然后在这个基础上增加功能就提高了自身能力了1.产生随机字符串函数function random($length) {$hash = @#@#;$chars = @#abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrs转载 2009-10-12 11:38:00 · 491 阅读 · 0 评论