张映 发表于 2010-04-24

分类目录: php

一,socket是什么

什么是socket 所谓socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过"套接字"向网络发出请求或者应答网络请求。说白了就是一种通信机制。它类似于银行,电信啊这些部分的电话客服部门。你打电话的时候,那边会分配置一个人回答你的问题,客服部门就相当于socket的服务器端了,你这边呢就相当于客户端了,在和你通话结束前,如果有人在想找和你通话的那个说话,是不可能的,因为你在和他通信,当然客服部门的电话交换机也不会重复分配。

下面我将举例子来说明一下,socket是怎么工作的。如果你是基于应用层开发的人员并不一定要理解原理,但是能知道那是更好了。网上有关于socket的php api。下下来用就行了。

二,socket服务器server.php

阅读全文>>

张映 发表于 2010-04-23

分类目录: linux

windows是目前来说,用户都多的操作系统,基于windows开发也最多,虽然我很不喜欢windows。但是公司提供的电脑就是windows的,想装个双系统,又不能下载,杯具。费话不多说,windows下面我用过二个快速搭建web服务器的工具,一个wamp,一个xampp,下面列举几个,并作一下说明

一,wamp工具

wamp它是windows apache mysql php的缩写,表示的意思是说,我拥有这些东西。

http://www.wampserver.com/en/download.php

安装我就不说了,一直下一步就搞定了。在这儿我主要说说wamp装好后,它提供一些什么服务,是不是很人性化的管理php ,mysql,apache等。看下图:

阅读全文>>

张映 发表于 2010-04-21

分类目录: mysql

以下是mysql错误对照表:
1005:创建表失败
1006:创建数据库失败
1007:数据库已存在,创建数据库失败
1008:数据库不存在,删除数据库失败
1009:不能删除数据库文件导致删除数据库失败
1010:不能删除数据目录导致删除数据库失败
1011:删除数据库文件失败
1012:不能读取系统表中的记录
1020:记录已被其他用户修改
1021:硬盘剩余空间不足,请加大硬盘可用空间
1022:关键字重复,更改记录失败
1023:关闭时发生错误
1024:读文件错误

阅读全文>>

张映 发表于 2010-04-21

分类目录: php

说明一下,以前我写过一篇关于将xml转换成数组的博文,http://blog.51yip.com/php/591.html,这篇博文读取xml的前提是知道xml的标签名称是什么,但是如果标签名称不知道呢怎么办呢,话又说回来了,一般情况下都是知道的,因为xml数据都是由人生成的,或者按人写的规则自动生成的。
今天在网上想找个将xml转成json的方法,找了半天没找到,找到了,根本没有什么用,有一个service_JSON说的挺像真的,找开后就一个JSON.php,php5.0以后已经把它加进来,json_decode和json_encode。想走捷径的,唉,靠人不如靠已。以下是我写的一个方法

一,参考xml文件如下

阅读全文>>

张映 发表于 2010-04-19

分类目录: php

为什么要缩放和截图呢?最重要一点,就是加载的速度,如果我想要显示一个30x30的图片,但是你上传的图片是300x300,页面加载图片的时候,肯定30x30的要快。所以我们就要截取或者缩放,现在sns的网站都提供,头像的截取。

一,准备test.html页面

<html>
<body>
<form action='test.php' method='post' name='form' enctype="multipart/form-data">
<input type='file' name='photo'>
<input type=submit value='submit'>
</form>
</body>
</html>

阅读全文>>

张映 发表于 2010-04-19

分类目录: linux

系统信息
arch
显示机器的处理器架构(1)
uname -m
显示机器的处理器架构(2)
uname -r
显示正在使用的内核版本
dmidecode -q
显示硬件系统部件 – (SMBIOS / DMI)
hdparm -i /dev/hda
罗列一个磁盘的架构特性
hdparm -tT /dev/sda
在磁盘上执行测试性读取操作

阅读全文>>

张映 发表于 2010-04-19

分类目录: cache, 服务器相关

一,什么squid

Squid是一个高性能的代理缓存服务器,可以加快内部网浏览Internet的速度,提高客户机的访问命中率。Squid不仅支持HTTP协议,还支持FTP、gopher、SSL和WAIS等协议。和一般的代理缓存软件不同,Squid用一个单独的、非模块化的、I/O驱动的进程来处理所有的客户端请求。

Squid将数据元缓存在内存中,同时也缓存DNS查寻的结果,除此之外,它还支持非模块化的DNS查询,对失败的请求进行消极缓存。Squid支持SSL,支持访问控制。由于使用了ICP,Squid能够实现重叠的代理阵列,从而最大限度的节约带宽。

Squid能够增强访问控制,提高安全性。可以针对特定的的网站、用户、网络、数据类型实施访问控制等

二,安装squid

阅读全文>>

张映 发表于 2010-04-18

分类目录: cache

一,什么是varnish

Varnish是一款高性能的开源HTTP加速器,挪威最大的在线报纸 Verdens Gang 使用3台Varnish代替了原来的12台Squid,性能比以前更好。
Varnish 的作者Poul-Henning Kamp是FreeBSD的内核开发者之一,他认为现在的计算机比起1975年已经复杂许多。在1975年时,储存媒介只有两种:内存与硬盘。但现在计算机系统的内存除了主存外,还包括了CPU内的L1、L2,甚至有L3快取。硬盘上也有自己的快取装置,因此Squid Cache自行处理物件替换的架构不可能得知这些情况而做到最佳化,但操作系统可以得知这些情况,所以这部份的工作应该交给操作系统处理,这就是 Varnish cache设计架构。
Varnish的理念是好的,但是Varnish还没有稳定到可以完全替代Squid的程度,现在就抛弃Squid选择Varnish是不明智的。

阅读全文>>

张映 发表于 2010-04-18

分类目录: apache/nginx

一,突发神精,来把它们三儿来比较

在网上看到好多文章说nginx有多么,多么好。不管好不好,看看测试结果在说,

1,nginx+php-cgi说明

nginx我开启了11个进程,php-cgi我开启了10个进程

2,apache+php-cgi说明

httpd我开启了11个进程,php-cgi我开启了10个进程

3,apache+php-cli说明

没作任何限制

阅读全文>>

张映 发表于 2010-04-17

分类目录: apache/nginx

一,php-cgi和php-cli的区别

一般情况下,PHP是运行于Web环境上的产品,与HTML标签混合开发,将结果显示在浏览器上,作为交互式脚本。PHP位于Web服务器(Apache、Microsoft IIS等)和用户之间的中间层,称为SAPI(Short for web server API)。在Web服务器上,PHP始终充当引用与用户界面的功能。

PHP CLI版本有些类似于PHP的CGI模式,尽管它们之间有很多共同的行为,但CLI和CGI是分属于不同的SAPI的。
CLI没有用到GET或POST表单处理,无MIME的头信息输出,以及其他隐含的SAPI实现。
二,安装所要软件

wget http://museum.php.net/php5/php-5.2.6.tar.gz

阅读全文>>