• [PHP安装与配置] centos下用yum安装php5.4

    centos下用yum安装的php默认版本一般是PHP5.3,如果想要在Centos下用yum安装5.4的话就需要另外安装yum的源,根据centos版本的不同,选择以下源进行安装:CentOS/RHEL 7.x:rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm rpm -Uvh https://mirror.webtatic.…
    发布日期:2015-01-16 13:51:28
  • [PHP安装与配置] php装memcache扩展引发的php-fpm崩溃的问题

    今天打开网站发现网站所有页面都报502错误,查看nginx的日志显示如下错误信息:2014/10/20 18:12:29 [error] 388#0: *577 upstream prematurely closed connection while reading response header from upstream, client: 127.0.0.1, server:***原因是php…
    发布日期:2014-10-20 18:23:59
  • [PHP安装与配置] linux下为PHP安装mssql扩展

    PHP安装mssql扩展之前需要先安装freetds(官网:http://www.freetds.org/),freetds是一个允许linux和Unix上的程序访问Sql Server和Sybase数据库的类库。一、安装freetdstar zxvf freetds-stable.tgz(解压) ./configure --prefix=/usr/local/freetds --with-td…
    发布日期:2014-06-26 09:32:11
  • [PHP安装与配置] php安装opcache

    大家知道目前PHP的缓存插件一般有三个:APC、eAccelerator、XCache,但未来它们可能都会消失,因为PHP 5.5开始已经集成Zend Opcache,功能和前三者相似但又有少许不同,缓存速度据说比它们更快。这几个PHP加速插件的主要原理都相同,就是把PHP执行后的数据缓冲到内存中从而避免重复的编译过程,能够直接使用缓冲区已编译的代码从而提高速度,降低服务器负载,它们的效率是显而易见的…
    发布日期:2014-06-07 10:42:28
  • [PHP扩展开发及内核应用] 数组(C中的)与链表

    在C语言中,我们可以自定义各种各样的数据结构,用来把很多数据保存在一个变量里面,但是每种数据结构都有自己的优缺点,PHP内核规模如此庞大,是否已经找到了一些非常棒的解决方法呢?我们在评选各种数据结构时,往往会考虑我们需要处理的数据规模以及需要的性能。下面让我们简要的看一下看C语言中数组和链表的一些事情。数组作者这里用的不是Array,而是Vector,可能指的是C++里的Vector,它与数组几乎是完…
    发布日期:2013-11-19 21:34:22
  • [PHP扩展开发及内核应用] PHP扩展开发之函数的参数“zend_parse_parameters”

    最简单的获取函数调用者传递过来的参数便是使用zend_parse_parameters()函数。zend_parse_parameters()函数的前几个参数我们直接用内核里宏来生成便可以了,形式为:ZEND_NUM_ARGS() TSRMLS_CC(注意两者之间有个空格,但是没有逗号)从名字可以看出,ZEND_NUM_ARGS()代表着参数的个数,紧接着需要传递给zend_parse_param…
    发布日期:2013-11-19 21:32:11
  • [PHP扩展开发及内核应用] Arg Info 与类型绑定

    在前面的章节中我们已经介绍过arg info了,下面我们看一下如何通过其实现类型绑定,但这个特性只能在Zend Engine 2也就是PHP5中使用。让我们再回顾一下ZE2's argument info结构。每一个arg info结构的声明都是通过ZEND_BEGIN_ARG_INFO()或者ZEND_BEGIN_ARG_INFO_EX()宏函数开始的,然后紧跟着几行ZEND_ARG_*INFO(…
    发布日期:2013-11-19 21:33:02
  • [PHP扩展开发及内核应用] 编译我们的扩展

    我们已经在上一节准备好了需要编译的源文件,接下来需要的便是把它们编译成目标文件了。因为在*nix平台和win平台下的编译步骤有些差异,所以这个地方需要分成两块介绍,很不幸,win部分还没有整理,请随时关注本项目。在*nix下编译第一步:我们需要根据config.m4文件生成一个configure脚本、Makefile等文件,这一步有phpize来帮我们做:$ phpize PHP Api Versi…
    发布日期:2013-11-19 21:23:25
  • [PHP安装与配置] linux下编译安装PHP

    一、PHP编译安装前首先要下载PHP源码包,下载地址:http://www.php.net/downloads.php二、解压源码包:tar -xzvf 下载下来的文件名 三、编译安装PHP:./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-gd --with-jpeg-dir…
    发布日期:2013-11-14 18:34:54
  • [PHP脚本] PHP实现断点续传文件下载

    HTTP断点续传原理:HTTP头Range和Content-RangeHTTP头中一般断点下载时才用到Range和Content-Range头,Range用于请求头中,指定第一个字节的位置和最后一个字节的位置,如(Range:200-300)Content-Range用于响应头。代码示例:$out = file_get_contents("text.zip"); $file_si…
    发布日期:2014-04-21 14:10:02
  • [PHP安装与配置] php正则内容太大获取不到问题

    使用PHP正则采集文章内容,遇到一个问题,在本机测试的时候可以匹配到内容,但同样的代码在服务器端匹配不到文章内容。使用的是PHP的preg_match函数,正则用的非贪婪模式。经过一番折腾,最后在使用正则前加了一句下面的代码,问题解决了:ini_set('pcre.backtrack_limit',100000000);pcre.backtrack_limit是pcre的最大回溯数限制,默认值是1…
    发布日期:2014-02-08 21:18:03
  • [PHP安装与配置] linux(Centos)下用yum安装nginx+php-fpm+mysql+php+eAccelerator

    一、自动选择最快的源更新yum -y install yum-fastestmirror yum -y update添加源,在/etc/yum.repo.d目录(centos 6.*为/etc/yum.repos.d目录)下创建一个文件alt.ru.repo,添加如下内容:[CentALT] name=CentALT Packages for Enterprise Linux 5 - …
    发布日期:2014-01-09 10:29:14
  • [PHP安装与配置] ubuntu下安装nginx+php+mysql+apc

    一、安装nginxsudo apt-get install -y nginx安装完成之后启动nginx服务:sudo service nginx start 二、安装mysqlsudo apt-get install -y mysql-server安装过程中出现两次输入root密码的界面,输入密码后按回车继续。安装完成后启动mysql服务:sudo service mysql start三、安装p…
    发布日期:2014-01-09 10:26:25
  • [PHP扩展开发及内核应用] PHP扩展开发之--回调到php中

    除了加载外部的脚本, 和你在上⼀章看到的类似, 你的php嵌入式应用, 下面将实现⼀个类似于用户空间eval()的命令.int zend_eval_string(char *str, zval *retval_ptr, char *string_name TSRMLS_DC) 这里, str是实际要执行的php脚本代码, 而string_name是⼀个与执行关联的任意描述信息. 如果发生错误, ph…
    发布日期:2013-11-19 22:13:08
  • [PHP脚本] php实现javascipt的charCodeAt方法

    javascript的charCodeAt()方法与charAt()方法类似,但它并不像charAt()方法一样返回指定位置上的字符本身,而是返回该字符在Unicode字符集中的编码值。charCodeAt(int index)方法是一个能够用来检索特定索引下的字符的Unicode字符集中的编码值的String实例的方法.charCodeAt()方法返回指定索引位置的字符的Unicode字符集中的编…
    发布日期:2013-12-13 18:41:16
  • [PHP脚本] php实现javascript的charAt方法

    charAt(int index)方法是一个能够用来检索特定索引下的字符的String实例的方法.charAt()方法返回指定索引位置的char值。索引范围为0~length()-1.如: str.charAt(0)检索str中的第一个字符,str.charAt(str.length()-1)检索最后一个字符.php实现javascript的charAt()方法代码如下:function charA…
    发布日期:2013-12-13 18:40:34
  • [PHP脚本] php实现javascript的fromCharCode方法

    fromCharCode() 可接受一个指定的 Unicode 值,然后返回一个字符串。语法:String.fromCharCode(numX,numX,…,numX)注意:该方法是 String 的静态方法,字符串中的每个字符都由单独的数字 Unicode 编码指定。它不能作为您已创建的 String 对象的方法来使用。因此它的语法应该是 String.fromCharCode()PHP实现java…
    发布日期:2013-12-13 18:40:06
  • [PHP脚本] php实现JavaScript slice() 方法

    avascript的slice() 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。javascript的slice() 方法的语法:stringObject.slice(start,end)PHP实现javascript的slice() 方法代码:function slice($str, $start, $end = 0) { if($start >= 0) …
    发布日期:2013-12-13 18:39:08
  • [PHP脚本] php实现javascript的无符号右移运算符>>>

    php实现javascript的无符号右移运算符>>> ,实现代码:/** * 无符号32位右移 ;模拟实现JS的>>>,无符号右移。实现原理,化为二进制,先右移,后补零。 * @param mixed $x 要进行操作的数字,如果是字符串,必须是十进制形式 * @param string $bits 右移位数 * @return mixed 结果…
    发布日期:2013-12-13 18:36:04
  • [PHP是什么?] PHP是什么?

    PHP是一种编程语言,最原始的时候是“Personal Home Page“的缩写,后来改名为“PHP:Hypertext Preprocessor”,即超文本预处理器。PHP于1994年由Rasmus Lerdorf创建,Rasmus Lerdorf在1995年发布了PHP的第一个版本PHP 1.0之后,越来越多的网站使用了PHP,并且自这以前也有越来越多的人加入到了开发PHP的行列,PHP目…
    发布日期:2013-11-15 11:43:24