php撰写的日志

centos+zendce+red5+ffmpeg安装配置

本文主要是讲叙在centos服务器下如何快速的搭建AMP环境和流媒体服务器。至于性能测试和调优暂不涉及。
首先假设服务器已经安装了centos系统。推荐一款小软件。nmon for linux 服务器系统监测工具: wget http://sourceforge.net/projects/nmon/files/download/nmon_mainframe_12a_v2.zip/download
第一步,AMP环境采用Zend server 社区班Zend CE。
1.首先你要在建立Zend CE的下载库路径
vi /etc/yum.repos.d/zend.repo
添加的内容如下:

View Code ZEND[Zend]
name=Zend CE $releasever – $basearch – Released Updates
baseurl=http://repos.zend.com/rpm/ce/$basearch/
enabled=1
gpgcheck=0
[Zendce-noarch]
name=Zend CE – noarch
baseurl=http://repos.zend.com/rpm/ce/noarch
enabled=1
gpgcheck=0

2.开始安装如果服务器没有安装svn则需
yum install svn
如果服务器svn版本比较老。可以先删除在从yum安装。
# rpm -qa | grep -i subversion
subversion-1.4.2-2.el5
subversion-1.4.2-2.el5
rpm -evf –allmatches subversion-1.4.2-2.el5
3.yum install zend-ce
yum clean all//清楚缓存
4.让linux自动加载zend库文件
vim /etc/profile
在最后面添加内容:
PATH=$PATH:/usr/local/zend/bin
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/zend/lib
保存退出
source /etc/profile   //生效
zendtpl.sh status //查看Zend server运行状态
zendtpl.sh start  //apache start
zendtpl.sh stop
zendtpl.sh restart  等同于 /etc/init.d/httpd restart 和 service More >

lamp 是什么

LAMP是一个缩写(linux apache mysql php[perl,python]),起源于英国,它指一组通常一起使用来运行动态网站或者服务器的自由软件.
Linux,操作系统;
Apache,网页服务器;
MySQL,数据库管理系统(或者数据库服务器);
PHP 和有时 Perl 或 Python,脚本语言。
虽然这些开放源代码程序本身并不是专门设计成同另几个程序一起工作的,但由于它们的廉价和普遍,这个组合开始流行(大多数Linux发行版本捆绑了这些软件)。当一起使用的时候,它们表现的像一个具有活力的解决方案包。
LAMP包的脚本组件中包括了CGIweb接口,它在90年代初期变得流行。这个技术允许网页浏览器的用户在服务器上执行一个程序,并且和接受静态的内容一样接受动态的内容。程序员使用脚本语言来创建这些程序因为它们能很容易有效的操作文本流,甚至当这些文本流并非源自程序自身时也是。正是由于这个原因系统设计者经常称这些脚本语言为胶水语言。
Michael Kunze 在一篇为德国电脑杂志c’t(1998,第12期,230页)而写的文章中使用了缩略语 LAMP。这篇文章意在展示一系列的自由软件成为了商业包的替换物。由于IT世界众所周知的对缩写的爱好,Kunze提出LAMP这一容易被市场接受的术语来普及自由软件的使用。
O’Reilly和MySQL AB在英语人群中普及了这个术语。的确,MySQL AB 自己的市场推广在某种程度上基于LAMP包的推广。其他的项目和厂商则推行这个术语的一些变体,包括:
LAPP(以PostgreSQL 替代 MySQL).
LAMP(最后两个字母意味着 Middleware 和 PostgreSQL).
WAMP(以 Microsoft Windows 替代 Linux).
MAMP(以 Macintosh 替代 Linux).
LAMJ 意指 JSP/servlet.
BAMP 以 BSD 替代 Linux.
WIMP 指 Microsoft Windows, Microsoft IIS,MySQL, PHP.
AMP(省略了操作系统;Apple最喜欢这个词眼[来源请求]).
XAMP(xml + apache + mysql + php).
一些人借用LAMP 来描述一类可定制组成的系统,而不是制造一系列新词,并用它来表示这些系统和统一打包的页面开发环境的不同。

php 配置文件 php.ini 详细介绍

View Code PHP;;;;;;;;;;;;;;;;;
;; 关于php.ini ;;
;;;;;;;;;;;;;;;;;
; 这个文件必须命名为’php.ini’并放置在httpd.conf中PHPINIDir指令指定的目录中。
; 最新版本的php.ini可以在下面两个位置查看:
; http://cvs.php.net/viewvc.cgi/php-src/php.ini-recommended?view=co
; http://cvs.php.net/viewvc.cgi/php-src/php.ini-dist?view=co
 
;;;;;;;;;;;;
;; 语法 ;;
;;;;;;;;;;;;
; 该文件的语法非常简单。空白字符和以分号开始的行被简单地忽略。
; 章节标题(例如: [php])也被简单地忽略,即使将来它们可能有某种意义。
;
; 设置指令的格式如下:
; directive = value
; 指令名(directive)是大小写敏感的!所以"foo=bar"不同于"FOO=bar"。
; 值(value)可以是:
; 1. 用引号界定的字符串(如:"foo")
; 2. 一个数字(整数或浮点数,如:0, 1, 34, -1, 33.55)
; 3. 一个PHP常量(如:E_ALL, M_PI)
; 4. 一个INI常量(On, Off, none)
; 5. 一个表达式(如:E_ALL & ~E_NOTICE)
;
; INI文件中的表达式仅使用:位运算符、逻辑非、圆括号:
; | 位或
; & 位与
; ~ 位非
; ! 逻辑非
;
; 布尔标志用 On 表示打开,用 Off 表示关闭。
;
; More >

Web 设计与开发终极资源大全

来自网络。摘抄一下。
1. 函数与类库
A. CAPTCHA
CAPTCHA 用来防止恶意表单发布,以下 CAPTCHA 系统可以轻松集成到你的程序中:
reCAPTCHA
这是目前最流行的 CAPTCHA 机制,该机制同时是一个古籍数字化工程的一部分,用户在验证的同时,也帮助辨认一些不够清晰的估计扫描。reCAPTCHA 还有一个 Perl 模块 实现该功能。
Securimage
这个一个免费的,开源 PHP CAPTCHA 脚本。
freeCap
基于 GPL 协议的 CAPTCHA 脚本
HN CAPTCHA
PHP CAPTCHA 脚本,基于 LGPL 协议
B. 日期处理
日期操作并不轻松,尽管 PHP 和 Perl 内置了大量此类函数,但未必满足你的需要,以下是几个很好用的日期函数:

PEAR Date
通用 PHP 日期类库
Date Class
PHP 类库,计算及其增减与日期差异
Date manipulation in PHP
PHPBuilder.com 上的一个教程,讲解如何进行日期处理
Date::Calc Perl Module
Perl模块,用于格列高利历法的日期计算

C. 图形处理
图片缩放,添加水印等:

Image Manipulation Class
在 PHP 中缩放,反转,旋转图片
PHP Thumbnailer
一个轻量级图片缩略图工具
PHP GD
一个强大的图片处理类库
Perl GD
Perl 图片处理模块

D. 表单验证
表单验证不仅保证用户填写的准确,还可以防止攻击:

validaForms
一个 PHP 表单验证类库
User Input Validation Class
一个 PHP More >

php 简单 无级分类 无递归

记录一下,以便以后使用。
替换成相应的字段.
代码如下:

View Code PHP public static function toTree($rows) {
if ( !is_array($rows) ) return false;
$tree = array();
$index = array();
foreach ( $rows as More >

ubuntu php sphinxapi 使用方法

配置文件:youconfig.conf
建立索引:

View Code SHELLsource src1
{
type = mysql
sql_host = localhost
sql_user = root
sql_pass More >

ecshop 数据结构 大全

网上找到的:
方面日后用到

View Code SQLECSHOP 数据字典
– 表的结构 `ecs_account_log`
CREATE TABLE IF NOT EXISTS `ecs_account_log` (
`log_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT COMMENT ‘自增ID号’,
`user_id` mediumint(8) unsigned NOT NULL COMMENT ‘用户登录后保存在session中的id号,跟users表中的user_id对应’,
`user_money` decimal(10,2) NOT NULL COMMENT ‘用户该笔记录的余额’,
`frozen_money` decimal(10,2) NOT NULL COMMENT ‘被冻结的资金’,
`rank_points` mediumint(9) NOT NULL COMMENT ‘等级积分,跟消费积分是分开的’,
`pay_points` mediumint(9) NOT NULL COMMENT ‘消费积分,跟等级积分是分开的’,
`change_time` int(10) unsigned NOT NULL COMMENT ‘该笔操作发生的时间‘,
`change_desc` varchar(255) NOT NULL COMMENT More >

我的vim php 开发配置文件

有些混乱日后修正:
vim 插件:
NERDTree 树状导航【项目】
TagList 标签
php-doc 注释插件
acp 自动提示插件

View Code PHP" All system-wide defaults are set in $VIMRUNTIME/debian.vim (usually just
" /usr/share/vim/vimcurrent/debian.vim) and sourced by the call to :runtime
" you can find below. If you wish to change any of those settings, you should
" do it in this file (/etc/vim/vimrc), since debian.vim will be overwritten
" everytime an upgrade More >

PHP中多服务器共享SESSION的方法

在PHP中SESSION默认是用文件来进行保存的,如session.save_path=/tmp,则是将session数据保存在/tmp目 录下,如果并发用户量很大,在这个目录下就会存在大量类似sess_xxxxxx的session文件,导致性能下降,不少朋友可能都没有注意到 php.ini里面Session设置部分中有这样一项:
; session.save_path = “N; MODE; /path”
这项设置提供给我们可以给session存放目录进行多级散列,其中“N”表示要设置的目录级数,“MODE”表示目录的权限属性,默认为600,在WINDOWS上基本是不用设置的,*NIX上也可以不用设置,后面的“/path”表示session文件存放的根目录路径,比如我们设置为下面的格式
session.save_path = “2; d:/php5/tmp”
上面的设置表示我们把d:/php5/tmp目录作为php的session文件存放根目录,在该目录下进行两级目录散列,每一级目录分别是 0-9和a-z共36个字母数字为目录名,这样存放session的目录可以达到36*36个,相信作为单台服务器来说,这是完全够用了,如果说您的系统 架构设计为多台服务器共享session数据,可以把目录级增加到3级或者更多。
需要注意的是,php自己并不会自动创建子目录,需要您自己动手去创建,网上找到这样的自动创建目录的代码,大家可以做个参考。下面的代码自动创建3级子目录,可以自己动手根据需要进行修改。
set_time_limit(0);
$string = ‘0123456789abcdefghijklmnopqrstuvwxyz’;
$length = strlen($string);
function makeDir($param)
{
if(!file_exists($param)) {
makeDir(dirname($param));
mkdir($param);
}
}
for($i = 0; $i < $length; $i++) {
for($j = 0; $j < $length; $j++) {
for($k = 0; $k < $length; $k++) {
makeDir($string[$i].’/’.$string[$j].’/’.$string[$k]);
}
}
}
?>
多服务器共享session的方法:
1.通过NFS文件共享的方式,多台WEB服务器共享保存session文件的磁盘
2.保存在数据库中,这种方式的扩展性很强,可以随意增加WEB而不受影响
3.可以将session数据保存在memcached中,memcached是基于内存存储数据的,性能很高,用户并发量很大的时候尤其合适,参考PHP实现多服务器session共享之memcache共享
4.文件方式保存session时,可以采用php的扩展eaccelerator来存储sesion,参考
eaccelerator 应用之“使用共享内存存储Session”

PHP面向对象技术OOP(全面讲解)、概念开始

1.面向对象的概念
面向对象编程(Object Oriented Programming, OOP, 面向对象程序设计)是一种计算机编程架构,OOP的一条基本原则是计算机程序是由单个能够起到子程序作用的单元或对象组合而成,OOP达到了软件工程的三个目标:重用性、灵活性和扩展性。为了实现整体运算,每个对象都能够接收信息、处理数据和向其它对象发送信息。面向对象一直是软件开发领域内比较热门的话题,首先,面向对象符合人类看待事物的一般规律。其次,采用面向对象方法可以使系统各部分各司其职、各尽所能。为编程人员敞开了一扇大门,使其编程的代码更简洁、更易于维护,并且具有更强的可重用性。有人说PHP不是一个真正的面向对象的语言,这是事实。PHP 是一个混合型语言,你可以使用OOP,也可以使用传统的过程化编程。然而,对于大型项目,你可能需要在PHP 中使用纯的OOP去声明类,而且在你的项目里只用对象和类。这个概念我先不多说了,因为有很多朋友远离面向对象编程的主要原因就是一接触面向对象概念的时候就理解不上去, 所以就不想去学下去了。等读者看完整体内容后再去把概念搞明白吧。
2.什么是类,什么是对象,类和对象这间的关系
类的概念:类是具有相同属性和服务的一组对象的集合。它为属于该类的所有对象提供了统一的抽象描述,其内部包括属性和服务两个主要部分。在面向对象的编程语言中,类是一个独立的程序单位,它应该有一个类名并包括属性说明和服务说明两个主要部分。
对象的概念:对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。一个对象由一组属性和对这组属性进行操作的一组服务组成。从更抽象的角度来说,对象是问题域或实现域中某些事物的一个抽象,它反映该事物在系统中需要保存的信息和发挥的作用;它是一组属性和有权对这些属性进行操作的一组服务的封装体。客观世界是由对象和对象之间的联系组成的。
类与对象的关系就如模具和铸件的关系,类的实例化结果就是对象,而对一类对象的抽象就是类。类描述了一组有相同特性(属性)和相同行为(方法)的对象。
上面大概就是它们的定义吧,也许你是刚接触面向对象的朋友,不要被概念的东西搞晕了,给你举个例子吧,如果你去中关村想买几台组装的PC机,到了那里你第一步要干什么,是不是装机的工程师和你坐在一起,按你提供的信息和你一起完成一个装机的配置单呀,这个配置单就可以想象成是类,它就是一张纸,但是它上面记录了你要买的PC机的信息,如果用这个配置单买10台机器,那么这10台机子,都是按这个配置单组成的,所以说这10台机子是一个类型的,也可以说是一类的。那么什么是对象呢,类的实例化结果就是对象,用这个配置单配置出来(实例化出来)的机子就是对象,是我们可以操作的实体,10台机子,10个对象。每台机子都是独立的,只能说明他们是同一类的,对其中一个机做任何动作都不会影响其它9台机器,但是我对类修改,也就是在这个配置单上加一个或少一个配件,那么装出来的9个机子都改变了,这是类和对象的关系(类的实例化结果就是对象)。
3.什么是面向对象编程呢?
就不说他的概念,如果你想建立一个电脑教室,首先要有一个房间, 房间里面要有N台电脑,有N张桌子, N把椅子, 白板,投影机等等,这些是什么,刚才咱们说了, 这就是对象,能看到的一个个的实体,可以说这个电脑教室的单位就是这一个个的实体对象,它们共同组成了这个电脑教室,那么我们是做程序,这和面向对象有什么关系呢?开发一个系统程序和建一个电脑教室类似,你把每个独立的功能模块抽象成类,形成对象,由多个对象组成这个系统,这些对象之间都能够接收信息、处理数据和向其它对象发送信息等等相互作用。就构成了面向对象的程序。