FCKeditor 是一个十分强大的网页文本编辑器,它支持多种脚本编程语言(包括 PHP)和支持多国语言。
FCKeditor 截至 2008年4月6日,其最新版本是 2.6RC,RC 就是 Release Candidate,修订后的候选版本,很可能作为该版本的稳定版在未来发布。目前的最新的稳定版(Latest Stable)是 2.5.1。我们可以到他的官方网站上去下载 http://www.FCKeditor.net 合适的版本,开源、免费的。
Submitted by 荒原狼 on 2008, November 24, 12:51 PM
FCKeditor 是一个十分强大的网页文本编辑器,它支持多种脚本编程语言(包括 PHP)和支持多国语言。
FCKeditor 截至 2008年4月6日,其最新版本是 2.6RC,RC 就是 Release Candidate,修订后的候选版本,很可能作为该版本的稳定版在未来发布。目前的最新的稳定版(Latest Stable)是 2.5.1。我们可以到他的官方网站上去下载 http://www.FCKeditor.net 合适的版本,开源、免费的。
Submitted by 荒原狼 on 2008, November 24, 12:50 PM
PHP是门槛低,但是有几个人摸到了它的天花板呢?
学习PHP基本功很重要。 最好有数据结构的学习经历。
对于1,2年的新手来说。在2年内必须完全掌握
smarty+pear+adodb+xml+ajax+jquery(prototype)
然后建议熟练分析过国内外开源代码,例如:discuz, zendcart等等等等诸多.
工具类必须熟练掌握 zend studio 的开发。
数据库必须熟练掌握 mysql & sqlserver
操作系统必须对liunx有一定的了解。并能配置环境。
对apache也应该买本管理员手册好好看看。
以上为2年内,必须掌握的内容,这个时候你基本就是已经入门了。去个单位干个什么的都不很费劲了.
第三年,要丰富自己的思想. 如果没有.NET或者JAVA类的开发经验,请需要补补了。因为.NET和JAVA的思想比PHP要成熟的多,同样学习SQLSERVER也是为了提高mysql的使用水平。数据库可不是简单的建表查询就可以了。
所以我建义第三年的时候,多补充思想及数据库方面的内容。但是这并不意味前2年就不看。我的意思是第三年更趋于此。 因为在这个时候,你对PHP的很多基础部分已经了然于胸了,然后需要一个整体的提高,而不是很片面的提升。
这个时候,你就要考虑架构问题了。
第四年,当你部署一个大型项目的是否。负载及文件分布还有安全,等等部署方面的问题接踵而来。这个时候你要去努力理解什么是file server 集群,什么是web server集群 什么是database 集群等等。然后这些对你编码又有什么提高的要求,安全的要求等等。
第五年。尝试努力学习C及C++这个时候你将对栈还有指针还有内存有一个更深刻的了解。
第六年。该你自己拿主意了!
Submitted by 荒原狼 on 2008, November 24, 12:48 PM
Submitted by 荒原狼 on 2008, November 19, 1:07 PM
Submitted by 荒原狼 on 2008, November 16, 8:23 PM
今天在PHP5下用date("H:i:s")时,发现参数"H"取出的时间与window下的时间不对。查了一下资料,发现是PHP5的php.ini里面默认设置为:
[Date]
; Defines the default timezone used by the date functions
;date.timezone =
如此一来,按照默认的时间便为GMT时间。而我们一般是使用北京时间,可以设置为:date.timezone = Asia/Shanghai。即:
[Date]
; Defines the default timezone used by the date functions
date.timezone = Asia/Shanghai
记得不要设置为"Asia/Beijing",老外好象对上海感兴趣点,呵呵。
如果没有权限改php.ini,可以用函数date_default_timezone_set('Asia/Shanghai');
这个函数用于设定所有日期时间函数的默认时区。手册上如此说明:“自 PHP 5.1.0 起(此版本日期时间函数被重写了),如果时区不合法则每个对日期时间函数的调用都会产生一条 E_NOTICE 级别的错误信息”。但是“本函数永远返回 TRUE(即使 timezone_identifier 参数不合法)。”
在此再学习一下函数:string date_default_timezone_get ( void )。这个函数的目的是取得一个脚本中所有日期时间函数所使用的默认时区。
这个函数的返回值遵循以下顺序:1:用 date_default_timezone_set() 函数设定的时区(如果设定了的话)。2:TZ 环境变量(如果非空)。3:date.timezone 配置选项(如果设定了的话)。4:自己推测(如果操作系统支持)。5:如果以上选择都不成功,则返回 UTC
再深入学习一下什么是UTC:
协调世界时(UTC):
一种称为协调世界时的折衷时标于1972年面世。为了确保协调世界时与世界时(UT1)相差不会超过0.9秒,有需要时便会在协调世界时内加上正或负闰秒。因此协调世界时与国际原子时(TAI)之间会出现若干整数秒的差别。位于巴黎的国际地球自转事务中央局(IERS)负责决定何时加入闰秒。
UTC = Coordinated Universal Time. 中文名称为协调世界时.
GMT = Greenwich Mean Time. 中文名称为格林尼治(平)时(这里的"w"是不发音的,而且"Green"要读成"Gren")
UTC = GMT +/- 0.9 s
因此 UTC 间中需要进行 "闰秒" 以控制两者相差。
Submitted by 荒原狼 on 2008, November 16, 8:17 PM
深秋,无聊,骑车沿三环而行,风吹黄叶满天飞。约3个小时,冷,结束。
北京二环路为北京市的一条环城道路,全程32.7公里,建有29座立交桥,全线为全立交、全隔离的城市快速道路。
北京三环路全长48公里,共建有41座立交桥,是北京市城区的一条的环形城市快速路。
北京四环路全长65.3公里,全线共建设大小桥梁147座,并设有完善的交通安全设施。主路双向八车道,全封闭、全立交.
五环路全长98.58公里
北京六环路全长192公里,是一条联系北京郊区卫星城镇和疏导市际过境交通的高速公路。
Submitted by 荒原狼 on 2008, November 15, 9:07 AM
Submitted by 荒原狼 on 2008, November 13, 1:09 PM
Submitted by 荒原狼 on 2008, November 12, 9:27 AM
服务器端安装,在NFS服务器上执行下面的命令即可
# apt-get install nfs-common nfs-kernel-server portmap
在客户端则需要安装:
# apt-get install nfs-common portmap
3.3 服务的启动与停止
启动服务
# /etc/init.d/nfs-kernel-server start
停止服务
# /etc/init.d/nfs-kernel-server stop
重启服务
# /etc/init.d/nfs-kernel-server restart
# mkdir /home/share
# chown nobody.nogroup /home/share
[共享的目录] [主机名1或IP1(参数1,参数2)] [主机名2或IP2(参数3,参数4)]
下面是一些NFS共享的常用参数:
ro 只读访问
rw 读写访问
sync 所有数据在请求时写入共享
async NFS在写入数据前可以相应请求
secure NFS通过1024以下的安全TCP/IP端口发送
insecure NFS通过1024以上的端口发送
wdelay 如果多个用户要写入NFS目录,则归组写入(默认)
no_wdelay 如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。
hide 在NFS共享目录中不共享其子目录
no_hide 共享NFS目录的子目录
subtree_check 如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)
no_subtree_check 和上面相对,不检查父目录权限
all_squash 共享文件的UID和GID映射匿名用户anonymous,适合公用目录。
no_all_squash 保留共享文件的UID和GID(默认)
root_squash root用户的所有请求映射成如anonymous用户一样的权限(默认)
no_root_squas root用户具有根目录的完全管理访问权限
anonuid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的UID
anongid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的GID
# showmount -e 192.168.102.47
Export list for 192.168.102.47:
/home/share (everyone)
6.1 启动时自动挂栽
修改客户机的 /etc/fstab文件,加入类似如下行:
192.168.102.47:/home/share /mnt nfs rsize=8192,wsize=8192,timeo=14,intr
重启客户机,即可实现系统启动时自动挂栽共享资源
6.2 使用 autofs 实现资源挂栽
autofs 使用 automount 守护进程来管理你的挂载点,它只在文件系统被访问时才动态地挂载它们。 autofs 查询主配置文件 /etc/auto.master 来决定要定义哪些挂载点。然后,它使用适用于各个挂载点的参数来启动 automount 进程。主配置中的每一行都定义一个挂载点,然后用单独的配置文件定义在该挂载点下要挂载的文件系统。
安装 autofs
# aptitude install autofs
修改/etc/auto.master文件, 加入如下内容:
/mnt /etc/auto.nfs
创建 /etc/auto.nfs 文件内容如下:
nfs -rw,soft,intr,rsize=8192,wsize=8192 192.168.102.47:/home/share
这样,每当您进入 /mnt/nfs 目录时,系统都会尝试将服务器的共享资源挂栽到该目录上。应当注意nfs目录是由 automount 动态地创建的,它不应该在客户机器上实际存在。
tonybox2:/# cd /mnt
tonybox2:/mnt# ls
tonybox2:/mnt# cd nfs
tonybox2:/mnt/nfs# ls
123
tonybox2:/mnt/nfs# ls -l
total 4
-rw-r--r-- 1 nobody nogroup 6 2006-08-22 07:50 123
tonybox2:/mnt/nfs#
如果修改了/etc/auto.master主配置文件,则需要运行
#/etc/init.d/autofs reload
对其进行重新加载
Submitted by 荒原狼 on 2008, November 10, 2:19 PM
apt-get update
apt-get install apache2
apt-get install openssl
openssl req -new -x509 -days 3650 -nodes -out /etc/apache2/ssl/apache.pem -keyout /etc/apache2/ssl/apache.pem
a2enmod ssl
cp default ssl
NameVirtualHost *:443
<VirtualHost *:443>
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/apache.pem
a2ensite ssl
vi /etc/apache2/ports.conf
Listen 443
/etc/init.d/apache2 restart