PHP基础
文章平均质量分 88
深度Java
这个作者很懒,什么都没留下…
展开
-
Ubuntu下安装Apache+PHP+Mysql
Ubuntu下安装 apache+php+mysql文本服务器! --------------------------------------------------------------------------------版本一Install SSH Client and Server (for my remote access):sudo apt-get install ssh原创 2011-06-26 05:06:00 · 4851 阅读 · 0 评论 -
Joomla和Drupal简介
Joomla!是一套在国外相当知名的内容管理系统。Joomla!是使用PHP语言加上MySQL数据库所开发的软件系统,可以在Linux、 Windows、MacOSX等各种不同的平台上执行。目前是由Open Source Matters(见扩展阅读)这个开放源码组织进行开发与支持,这个组织的成员来自全世界各地,小组成员约有150人,包含了开发者、设计者、系统管理者、文件撰写者,以及超过2原创 2011-07-03 03:04:39 · 1907 阅读 · 2 评论 -
centOS怎样强制卸载PHP以及自定义安装PHP
很无语,centOS居然php版本才5.1.6,很多开源的CMS无法安装。查看php版本命令:#php -v 这个命令是删除不干净的#yum remove php因为使用这个命令以后再用 #php -v还是会看到有版本信息的。。原创 2011-07-03 12:01:52 · 40403 阅读 · 2 评论 -
short_open_tag 必须打开
在使用phpcms本地安装的过程中,到运行环境检测这一步,发现:short_open_tag 必须打开。从网上搜索PHP相关资料时,发现,将php.ini文件中的short_open_tag = off 项,设置成on,重启服务器即可。short_原创 2011-07-03 18:30:57 · 18055 阅读 · 0 评论 -
在apache中使用 memcache 来作 session 存储
session.save_handler = memcachesession.save_path = "tcp://127.0.0.1:11211"使用多个 memcached server 时用逗号","隔开,并且和 Memcache::addServer() 文档中说原创 2011-07-21 11:28:39 · 3421 阅读 · 0 评论 -
PHP“Cannot use object of type stdClass as array”
php再调用json_decode从字符串对象生成json对象时,如果使用[]操作符取数据,会得到下面的错误错误:Cannot use object of type stdClass as array产生原因:+展开-PHP $res = j原创 2011-07-12 12:43:31 · 47433 阅读 · 1 评论 -
PHP版本发展历史
PHP版本发展历史PHP1PHP最初是作为一个快速、实用的工具包出现的。1994年,为了在自己的网站上增加一个小巧而实用的访客追踪系统,Rasmus Lerdorf编写了PHP的雏形程序。这是一个用Perl封装的简单工具。由于使用效果并不理想,Rasmus又用C语言重写了这个工具。后来,更多的人注意到这个轻巧而简便的程序,并且要求增加更多的功能。Rasmus决定发布一个完整原创 2007-03-19 23:42:00 · 6354 阅读 · 1 评论 -
PHP面向对象精要
1 使用extends实现继承以及重载、魔术方法的含义class B extends A 声明的时候B里可以没有A里的方法调用的时候$b=new B();$b->A里的方法();$b->A里的属性=1;$b->B里的方法();$b->B里的方法();如果$a=new A();可以$a->A里的方法();$a->A里的属性=1;不可以$a原创 2004-11-04 19:21:00 · 6072 阅读 · 3 评论 -
PHP中文乱码
页面顶端加 header("content-Type: text/html; charset=gbk");?>原创 2008-10-30 15:51:00 · 4571 阅读 · 3 评论 -
HTTP Response中的Chunked编码
进行Chunked编码传输的HTTP Response会在消息头部设置:Transfer-Encoding: chunked表示Content Body将用Chunked编码传输内容。Chunked编码使用若干个Chunk串连而成,由一个标明长度为0的chunk标示结束。每个Chunk分为头部和正文两部分,头部内容指定下一段正文的字符总数(十六进制的数字)和数量单位(一般原创 2007-03-21 19:53:00 · 5751 阅读 · 0 评论 -
Roadsend PHP-开源的PHP代码编译器
Roadsend PHP 是一个开源的php compiler, 可以将你的PHP代码编译成原生的二进制代码, 无需分发php源码.Roadsend 可以将你的PHP web项目编译成FastCGI的可执行文件,这样apache,nginx可以通过fastcgi方式和编译后的程序进行通讯. 看起来,PHP 编写的程序可以和C编写的程序有同样的待遇了? 因为都可以生成原生代码么,再也不需原创 2008-06-24 10:32:00 · 8052 阅读 · 9 评论 -
在PHP语言中使用JSON
从5.2版本开始,PHP原生提供json_encode()和json_decode()函数,前者用于编码,后者用于解码。一、json_encode()该函数主要用来将数组和对象,转换为json格式。先看一个数组转换的例子: $arr = array (a=>1,b=>2,c=>3,d=>4,e=>5); echo json_encode(原创 2007-03-24 17:01:00 · 11406 阅读 · 5 评论 -
PEAR, PECL和Perl的区别
PEAR是PHP扩展与应用库(the PHP Extension and Application Repository)的缩写。它是一个PHP扩展及应用的一个代码仓库,简单地说,PEAR就是PHP的CPAN。PECL (PHP Extension Community Library),PHP的扩展库,它提供了一系列已知的扩展库,由C++等其他语言编写而成,以.so形式出现,.原创 2004-10-29 19:16:00 · 10518 阅读 · 2 评论 -
PHP连接MySQL的2种方法以及防止乱码
PHP的MySQL配置报错信息:Class mysqli not found in Answer:1.在conf/php.ini中,在vim用"/php_mysql"搜索到extension=php_mysql.dll,去掉前面的";",同时在下面增加extension=php_mysqli.dll;注意后面那个dll多了个i2."/extension_原创 2007-03-21 20:49:00 · 6570 阅读 · 5 评论 -
php与Ajax实例
****************AJAX的学习要有JavaScript、HTML、CSS等基本的Web开发能力****************[AJAX介绍] Ajax是使用客户端脚本与Web服务器交换数据的Web应用开发方法。Web页面不用打断交互流程进行重新加裁,就可以动态地更新。使用Ajax,用户可以创建接近本地桌面应用的直接、高可用、更丰富、更动态的Web用户界面。原创 2007-03-19 23:03:00 · 6443 阅读 · 0 评论 -
PHP 调用C的代码
用php调用C函数,常通过调用系统命令函数的方式来实现,其中主要有system()和exec()两种,还有一种是passthru(),这种方法没有尝试,暂不作讨论。 system()方法输出并返回最后一行的shell结果。exec()不输出结果,返回最后一行shell结果,所有结果可以保存到一个返回的数组里面。 相同点是都可以获取命令执行的状态码。 PHP调用C函原创 2005-01-05 18:08:00 · 5757 阅读 · 0 评论 -
php打印warning日志引发的core追查
内容 春节期间线上出了两个php-cgi的core,具体追查过程如下:一、 Core信息file core.xxxbug.php-cgi.3611.1296586902: ELF 64-bit LSB core file AMD x86-64, version原创 2011-07-26 17:23:04 · 2484 阅读 · 0 评论 -
php如何调用c接口无错版
1.首先是要安装好PHP 2.进入PHP的下载解压目录下的ext目录#cd /root/php-5.3.6/ext#./ext_skel --extname=hmc 说明:./ext_skel --extname=module_namemodule_name是你自己可以选择的扩展模块的名字,例如我选择的hmc。执行工具后会自动在ext目录下建立你选择的modul原创 2008-11-12 09:11:00 · 6320 阅读 · 2 评论 -
PHP内核介绍及扩展开发指南—基础知识
一、 基础知识本章简要介绍一些Zend引擎的内部机制,这些知识和Extensions密切相关,同时也可以帮助我们写出更加高效的PHP代码。1.1 PHP变量的存储1.1.1 zval结构Zend使用zval结构来存储PHP变量的值,该结构如下所示:IS_N原创 2011-07-26 16:52:51 · 2255 阅读 · 0 评论 -
一致性哈希算法以及其PHP实现
<br />一个好名字是成功的一半,我们希望好名子有如下标准:<br /> 第一:要容易记忆朗朗上口<br /> 第二:要标明网站的中心思想<br /> 第三:要健康而寓意丰富<br /> 针对以上三个方面的特点,我认为如果能站在以下五个方面给网站取名字会取得比原创 2010-08-01 14:26:00 · 17768 阅读 · 3 评论 -
PHP中的页面跳转
PHP页面跳转一、header()函数点击按钮使用POST方式X.php页面只做判断逻辑 处理完以后 //isset函数if(isset($_POST["name"])){ header("Location: XX.php?name=".$_POST["name"]); }?> 注意 由于当前页面已经有输出内容所以这样跳转会在PHP原创 2004-10-24 22:43:00 · 6498 阅读 · 0 评论 -
php缓存技术总结
全页面静态化缓存 也就是将页面全部生成html静态页面,用户访问时直接访问的静态页面,而不会去走php服务器解析的流程。此种方式,在CMS系统中比较常见,比如dedecms; 一种比较常用的实现方式是用输出缓存: Ob_start()原创 2011-07-18 14:16:03 · 7210 阅读 · 1 评论 -
php 的opcode缓存apc以及其安装
先说说php程序的执行流程吧,说明了这个,才好开始我们的优化之旅。 客户端(譬如浏览器)—》请求Get hello.php—-》cgi服务器接(譬如apache)收到请求,根据配置寻找php的处理程序(譬如mod_php)—-》apache加载php的处理程序,p原创 2011-07-18 15:03:31 · 2364 阅读 · 0 评论 -
前端开发中的性能那点事
前端开发中的性能那点事(一)巧用xdebug 前言:在我们平时的php开发中,一个大的项目经过长时间的积累以后你会发现性能越来越慢,而性能到底消耗在了什么地方,常常是一个令人头疼的问题,function a()调用了多少次,function b()又消耗了多少时间,原创 2011-07-18 15:11:58 · 1985 阅读 · 0 评论 -
Xdebug 配置
第一部分:安装预编译模块安装预编译模块是很容易的。只需要将它们放到一个目录中,并将下面的内容添加到php.ini中:(不要忘记更改路径和文件名为你自己的值,并确信你使用的是完整路)zend_extension_ts = "c:/php/modules/php_xdeb原创 2011-07-18 15:22:27 · 1742 阅读 · 0 评论 -
利用bigpipe机制实现页面模块的异步渲染 chunked技术
bigpipe基于HTTP/1.1 支持的chunked编码,可以由浏览器接收到服务器发送的chunked块后,立即解析该块代码。因为chunked编码使消息主体成块发送,每块有自己的大小指示器,在所有的块之后会紧接着一个可选的包含实体头域的尾部。这种编码充许发送端能动态生成内容原创 2011-07-19 11:20:36 · 4580 阅读 · 0 评论 -
Facebook性能大提升的秘密:HipHop
facebook / hiphop-phphttps://github.com/facebook/hiphop-phpFacebook神秘的PHP项目HipHop for PHP终于揭开面纱。这个项目由一个PHP到C++的转换程序,一个重新实现的PHP运行库,和许多常用PHP扩展的重写版本构成,目的是旨在加速和优化PHP。用Facebook官方博客(无法直接访问)上项目负责原创 2010-02-07 03:45:00 · 8633 阅读 · 11 评论 -
认识 PHP 的hash函数
Hashing function (散列函式) 在网页应用中被广泛采用,从数码签署、错误检测、登入验证、到压缩储存空间,由于它的原理比较复杂,很多人把它跟加密函式混淆,对于如何运用hash function,如何选择合适的hash function,和它的优点缺点都不清楚,本文尝试解答这些问题。简单地说,Hashing 是一种数据影射(mapping) 的算法(algorithm),原创 2005-03-15 09:30:00 · 17956 阅读 · 0 评论 -
php调用C代码的方法详解
在php程序中需要用到C代码,应该是下面两种情况: 1 已有C代码,在php程序中想直接用2 由于php的性能问题,需要用C来实现部分功能针对第一种情况,最合适的方法是用system调用,把现有C代码写成一个独立的程序。参数通过命令行或者标准输入传入,结果从标准输出读出。其次,稍麻烦一点的方法是C代码写成一个daemon,php程序用socket来和它进行通讯。原创 2009-02-01 11:14:00 · 10532 阅读 · 10 评论 -
php几个预定义变量$_SERVER['DOCUMENT_ROOT']
echo documentroot:.$_SERVER[DOCUMENT_ROOT].; //根目录,在apache的配置文件里定义:httpd.conf 比如:DocumentRoot "D:/work/php_root"echo httphost:.$_SERVER[HTTP_HOST].; //域名,比如:localhostecho phpself:原创 2005-03-15 19:44:00 · 16901 阅读 · 4 评论 -
PHP feof() 函数读文件的使用
(PHP 4, PHP 5)feof — 测试文件指针是否到了文件结束的位置如果服务器没有关闭由 fsockopen() 所打开的连接,feof() 会一直等待直到超时而返回TRUE。默认的超时限制是 60 秒,可以使用 stream_set_timeout() 来改变这个值。 文件指针必须是有效的,必须指向由 fopen() 或fsockopen() 成功打开的原创 2005-01-05 16:06:00 · 7037 阅读 · 0 评论 -
php安装模式mod_php和Fastcgi的选择与对比
安装php又面临到了模式的选择,以前都是选择mod_php模式,因为这样安装比较方便哈,今天突然关心起FastCGI这种模式,败毒了一把,找到了一些关于mod_php和Fastcgi的选择与对比这方面的讨论,现在发出来留一个记号,以便进一步研究:第一篇:php在apache中安装模式的区别:fastcgi和mod_php 说到fastCgi就不得不说Cgi。 C原创 2008-11-12 12:25:00 · 13044 阅读 · 2 评论 -
php析构函数的用法
简单的说,析构函数是用来在对象关闭时完成的特殊工作,比如我写的上例,在实例化同时打开某文件,但是它什么时候关闭呢,用完就关闭呗,所以析构函数直接关闭它, 又或者在析构时,我们将处理好的某些数据一并写进数据库,这时可以考虑使用析构函数内完成,在析构完成前,这些对象属性仍然存在,并且仅用于内部访问,所以可以放心的做与对象有关的任何善后工作析构函数并不是为了把对象自身的内存释放,而是当用户需要额原创 2007-03-19 19:30:00 · 3311 阅读 · 0 评论 -
PHP之源码目录结构
PHP之所以能在web开发语言中排名靠前,不仅仅是因为语法简单,上手容易。我个人认为更多是因为其语言本身的:模块的易扩展性,可维护性以及内存安全管理等特点。写过PHP的程序员不一定都知道:PHP是如何执行的?其组织结构目录的作用?如果对其有所了解,对PHP的认识会更深入,写出的代码也会更高效,更健壮......1. build 和编译有关的目录。2. ext 扩展库代码,例如 mysql、zli原创 2011-06-21 11:49:00 · 6397 阅读 · 0 评论 -
初次体验hiphop-php
facebook在github上发布了hiphop-php的源代码。之前听说这玩意能把php代码翻译成c++代码,然后带来巨大的性能提升,所以第一时间编译了一份hiphop-php。我的机器环境是Centos 5.3 x86_648G内存Intel(R) Xeon(R原创 2011-07-12 01:17:31 · 4661 阅读 · 0 评论 -
PHP中Session的使用
启用配置 //修改php.ini中的session.auto_start = 0 为 session.auto_start = 1session_start();$_SESSION[username]="HM";原创 2004-11-04 18:29:00 · 3888 阅读 · 0 评论 -
CentOS 5.5 编译安装apache+php+mysql,利用CMS快速建立论坛
这个是转来的,细节没有验证,请网友自己斟酌。。。。。。。。。。======CentOS 5.5 编译安装apache+php+mysql,利用CMS快速建立论坛1、安装Apache[root@bogon tmp]# wget http://原创 2011-07-03 16:44:51 · 9168 阅读 · 0 评论 -
centOS 自动安装php
centos下安装php#yum install -y php这个只安装PHP建议安装运行库及MySQL的支持#yum install -y php php-devel php-mysql如果你的系统是CentOS 5.6那么上面这条命令安装的是PHP 5.1,要安装 PHP 5.3则执行下面的命令:#yum install -y php53 php53-devel php53-mysql自动安装原创 2008-11-20 16:26:00 · 15310 阅读 · 7 评论 -
PHP更新数据库记录
//更新记录$query="insert into chinachaodai (name,theindex)values (公司,1)";$result=$mysqli->query($query);if($result){ echo ("返回行数:".$mysqli->affected_rows);}else{ echo("失败了");}$mysqli->close();原创 2007-03-24 13:38:00 · 4664 阅读 · 1 评论 -
PHP获取当前时间差8小时的问题
echo date("Y-m-d H:i:s"); //当前时间 ?> 这个方法获取的时间和标准时间差8小时; 从php5.1.0开始,php.ini里加入了date.timezone这个选项,默认情况下是关闭的也就是显示的时间(无论用什么php命令)都是格林威治标准时间和我们的时间(北京时间)差了正好8个小时,有以下3中方法可以恢复正常的时间。1,最简单的方法就是不要用php5.1以原创 2005-02-18 14:40:00 · 13353 阅读 · 6 评论