\n'); } function setFlash(){ var myFlshObj = document.myFlash; var photoAlbum=document.getElementById('photoAlbum'); if(photoAlbum&&myFlshObj){ var awidth=0; awidth=parseInt(photoAlbum.offsetWidth); if(awidth<260) myFlshObj.height='150px'; if(awidth>=260 && awidth<350) myFlshObj.height='240px'; if(awidth>=350 && awidth<370) myFlshObj.height='305px'; if(awidth>=370 && awidth<550) myFlshObj.height='320px'; if(awidth>=550 && awidth<730) myFlshObj.height='455px'; if(awidth>=730) myFlshObj.height='590px'; } } function setAlbumUrl(name){ albumTypename=name; setFlash(); myFlash_DoFSCommand(null,"test"); } function showLoginWindow(ev){ var obj = document.getElementById("pop-login"); if(document.all){ obj.style.top = ev.clientY +'px'; obj.style.left = ev.clientX - 272 +'px'; } else{ obj.style.top = ev.pageY +'px'; obj.style.left = ev.pageX - 272 +'px' } obj.style.display ="block"; document.getElementById("pop-user-name").focus(); } function hideLoginWindow(){ document.getElementById("pop-login").style.display ="none"; } var blogID=getBlogID(); var UserName = ""; if(blogID!=null){ var tmpUserName=blogID.split("."); UserName=tmpUserName[0]; } function resize(obj){ if(window.event.srcElement.tagName == 'A'){ return; } obj.parentNode.childNodes[1].style.display = obj.parentNode.childNodes[1].style.display=='none' ? 'block': 'none'; obj.parentNode.childNodes[2].style.display = obj.parentNode.childNodes[2].style.display=='none' ? 'block': 'none'; } function tab(event){ var evt = (document.all)?window.event:event; if(evt.keyCode == 9){ document.getElementById("pop-password").focus(); return false; } else{ return evt.keyCode; } } function tab1(event){ var evt = (document.all)?window.event:event; if(evt.keyCode == 9){ document.getElementById("save").focus(); return false; } else{ return evt.keyCode; } } function tabTrack(event) { var evt = (document.all)?window.event:event; if(evt.keyCode == 9){ document.getElementById("pop-password-track").focus(); return false; } else{ return evt.keyCode; } }
我们不可能从这个世界上彻底消失,尽管有时候我们期望如此。但总有一些痕迹会暴露我们的行踪,而这些痕迹会随着时间的流逝而缓慢的由一种状态转化成另一种状态。它们会顽强的生存于某个角落,忠实的的记录着我们的行为、思想和历史所留下的一切……
我的音频
日历
最新评论
统计
统计中,请等候...
统计中,请等候...
公告
北漂中...
日志
一个多月没来自己的BLOG了。主要是工作繁忙,没空搞BLOG,现在也觉得搞BLOG没什么意思了。等公司的几个项目完成之后再抽一点时间做一个自己的个人网站,那样肯定会比较有意思。感谢来到这里的朋友。个人网站完成之后我会把网址公布。
玉 面 修 罗
今天晚上11点,我就要登上前往北京的火车了,由于去北京的票实在太紧,我又需要尽快过去,于是不得不买了这张L62临时车,听说这种车极其恐怖,开到北京需要一天一夜(一般快车只需要12个小时),而且车上基本没有开水供应.我跟朋友们说我坐这个车的时候,大家都非常惊讶的表情.他们说以前坐特快12个小时都已经快疯了,24个小时可以把人坐死了..说的我是越来越觉得恐怖,这是第一次坐火车,坐了个懒车,以后有钱了一定要坐飞机过去.
已经联系了几家公司,去了之后要开始面试了,以前没有面试过,希望一切顺利..
同时在国内,PHP的发展也非常迅速。目前在各大网站云集的北京,PHP几乎是无处不在。百度、新浪、搜狐、TOM等等各大互联网门户都在广泛使用这PHP。同时,近两年来北京多处许多小型的门户站点,也是大部分使用了PHP的技术。就连PHP的工程师需求量都发幅度提高。PHP在国内的官方PHPChina.com网站透露,目前的在京PHP工程师的待遇的平均值可以比ASP工程师的高出一倍。
那么,为什么PHP可以在近年来发展如此迅速呢。其实跟Web的迅猛发展是紧密联系在一起的。另外,LAMP的迅速发展使得PHP的应用也更加广泛了。那么这里我就Web迅猛发展这个大的环境,和大家下为什么PHP能在把握住这个机会,一举成功。
总结起来,PHP能发展起来有三个原因:
·基于Web量身定制,Web语言的首选,LAMP架构安全稳定
·简单,开发快速,扩展性强
·PHP企业级应用的发展
基于Web量身定制,Web语言的首选,安全稳定
在参加今年的LAMP大会的时候,我看到了PHP的创始人之一,Zeev Suraski。也听取了他在为我们做的PHP的整体介绍的报告。在听他讲当初开发PHP的初衷的时候他说到,他和Andi就是需要一个非常适合于Web的语言来编写一个课题,于是他们就找到了最好的PHP/HI。在他们完成项目的同时,他们发现PHP/HI非常有技术前景,于是他们就加入了PHP的研发,后来又一起开发了Zend Engine,并免费嵌入到PHP当中,发布了PHP4从而让PHP真正发展起来。
我们可以发现,再后来PHP一些列的版本升级中,PHP一直围绕着Web来增加它的特性,这点对于准备长期使用PHP来作为网站的技术承载平台的公司来说是非常合适的。关于这点Zeev本人也表示在PHP5确定版本的时候不得不把一些很不错的功能去掉,就是为了延续PHP的稳定的特点。
曾经听一个网站的技术经理说过:“如果做软件,如果要做网站就用PHP!”。当时我们都以为这个是一个笑谈,现在想起来还真是这样。目前,许多的网站项目的负责人都很信任PHP。觉得PHP在支持Web方面非常到位。
关于PHP应用的安全,则得益于PHP是开源的。在PHP社区有500多个PHP编写工程师在支持着PHP,源代码的公布为它赢得广泛的支持。当然,在讲到PHP的安全性的时候,不能不提到LAMP架构。基于LAMP平台的稳定性从它在国内各大网站的服务器的使用量就可以得以证明。
简单,开发快速,扩展性强
2006LAMP大会的时候,我发现Zeev在谈到PHP的特性的时候第一个就谈到使用简单。而且强调了这就是PHP能够成功的原因。而且Zeev也强掉了PHP将保持简单的风格,以便用户可以方便快捷地开发PHP应用程序。据说,美国上次受的飓风袭击的时候,特意为此搭建的网站就是用PHP的,一共才用了3天。虽然这个时间看上去很短,但是经过我们仔细分析以后,也是有可能的。
我个人认为不单单是国外,国内也是这样的。个人认为,简单带来的好处就是企业的快速成长的必备条件。用PHP来做Web站点可以在非常短的时间内搭建起一个小规模的网站。因此造就了大批的“个人站长”。同时,在国内也诞生了不少以PHP
另外,PHP的扩展性也非常好,如果用PHP开发产品的话,可以非常快地根据客户的需求进行定制。而且在PHP广泛的社区里面,可以为PHP的开发工程师提供大量的资源支持。PHP的开发工程师可以很快地获取他所需要的项目、方案或者具体的功能代码。在这点上,许多建站的产品的推广企业也有很深的感受。例如,论坛、CMS还有在线购物等等。
PHP企业级应用的发展
众所周知,PHP历来被认为是草根阶层的变成语言。因此困扰PHP发展的很大因素就是大企业的认可。政府、大企业等PHP项目的增加在近几年的表现也是很突出的,这点可能在国外比较明显,它大幅度地提高了大家在选择PHP时候的信心。
从这两年全球的PHP年会来看,许多的大厂商都开始纷纷关注PHP,参加年会。甚至于像IBM、Oracle等公司直接与Zend公司进行合作,推广并提高PHP在大型项目里面的功能。IBM公司本身也来大量采用PHP来实现它的项目。
此外,直接一提的是,大型的项目考虑开源的LAMP架构的时候会很看重是否可以获得一些技术支持。而关于PHP的技术支持,还是应该关注它的创始公司Zend 技术公司。Zend公司确实在把PHP推向企业级应用方面做了许多工作。包括与IBM和Oracle一起开发Zend Core for IBM 和 Zend Core for Oracle,并且免费发布。对于国内来说,可幸的是Zend公司在国内也开设了它的官方站点phpchina.com。
总结起来,PHP目前正处于发展的高峰期,而对于国内来说可能还没有迎来最高峰的时候,所以对于国内喜欢PHP的人来说,应该还有很多机会等待着他们把握。
终于还是决定了去北京,年后,去那面试几家公司。以前的想法是去上海,但是还是觉得在北京做PHP最有发展前途,而且在北京可能会有人照应,在这里特别感谢学长汤学旭给予的帮助。每个刚踏入社会的PHP程序员,相信都会遇到很多很多的挫折,有人稍微扶一把的话,真的会顺利很多。压力很大,除了努力没有别的办法了。
努力学习技术,争取在3-5年之内做到技术主管的水平,然后开始下一步计划,具体什么计划,保密.
草根出身的PHP语言挑战的对象是Java、.Net这样的大腕。
Zeev这位30岁的以色列小伙子看起来一点也不像有权势的人物,可是他共同创始的PHP语言,却成为网络时代异军突起的一个传奇。最新的消息是,Sun公司已决定把免费公开Java源代码提上日程,而微软的脚本语言ASP.net也只得一直实行免费赠送。这个小个子PHP及其同伙Linux、Apache、MySQL掀起的开放源代码浪潮影响了整个Web世界,给程序编写及发布方式带来了革命性的变化。重要的是,PHP两不耽误,一边保持着开源的真谛,另一边则取得了商业上的成功。
就在最近,PHP商业化公司Zend又获得了2000万美元的投资,投资人包括Intel Capital和SAP Ventures。IBM也将与Zend合作,把PHP引入到IBM的中级服务器平台,以支持访问DB2数据库,这笔交易价值数百万美元。而Zend的下一步很有可能是进行首次公开募股(IPO)。
在今天,全球已有2000万个网站使用PHP,包括最流行的雅虎、Google、百度、YouTube、Digg,也包括像汉莎航空电子订票系统、德意志银行的网上银行、华尔街在线的金融信息发布系统,甚至军队系统这类五花八门和苛刻的环境。PHP究竟是怎样炼成的?
源于草根
作为目前全球最流行的网站应用软件编程语言,PHP的成长历程和Linux有异曲同工之妙。1994年,它由Rasmus Lerdorf最早创建,Lerdorf只是想记录自己的在线简历,后来许多人都向他要程序的拷贝。1995年6月,Lerdorf在加入了一些介绍文档之后,在Usenet新闻组发布出去,这就成了最早的PHP 1.0。
这期间,两位大学生Zeev Suraski和Andi Gutmans需要能做一个基于Web的软件项目,需要能很好地支持Linux,但当时的ASP并不完善,JSP又比较复杂,所以就选择了PHP。其后他们在工作中发现PHP还有些不足,便自愿加入PHP语言开发工作组,并重新编写了底层的解析引擎。1998年6月,有着历史意义的PHP 3.0发布,用户数开始飞涨。1999年,他们两人又创建了Zend公司,开发了Zend Engine,大大提高了PHP的性能。
雅虎是PHP语言最早的使用者之一,随着雅虎的兴起,大量的站点开始学习雅虎背后的语言—PHP。此时,软件开始从传统模式向基于Web模式转变,几大势力一一长成:Linux操作系统、Apache网络服务器、MySQL服务器,以及以PHP语言为代表的“P”族语言(PHP、Perl、Python),一本德国计算机杂志把它们共同称为LAMP(明灯),也由此与J2EE架构(以Java为编程语言,Sun公司主导)、.Net架构(微软公司主导)形成了三足鼎立之势。在Evans Data公司的一份统计资料中,PHP使用者比Java及.Net的使用者稍有差距,但预计2007年的增长率将达37%,超过Java的16%和.Net的27%,这场草原上燃烧的星火正越来越旺。
从革命者到务实者
PHP成功的两大秘诀,第一条就是简单。PHP简单到让喜欢卖弄技巧的程序员感到羞愧,但让那些渴望进入Web开发领域的初学者欣喜若狂。PHP像是一条鲶鱼,与XML、Web Services融合无间。即使历次的版本升级,也无需担心PHP会丧失这种简单的特性。无疑,这个特点给需要快速开发、交互应用的Web2.0潮流极大的带来了方便,有超过半数的Ajax-enabled和Web2.0站点都选择了PHP。
PHP的第二个秘诀,就是“Community(强大的社区)”。Discuz!软件的开发者,25岁的康盛创想公司CEO戴志康就是这个特性的受益者。他说,不像其他的开发者需要从零开始,大量的PHP程序都有开放源代码可供学习,后人站在前人的肩膀上加以改进,又将这种知识积累的结果回馈给社区。这曾被比喻为“大教堂和集市”,在集市中,知识得到了最大化的利用,效率提高、错误减少、成本降低。而大教堂只能越垒越高,不断延迟发布时间。
现在,全球已有450万名PHP开发工程师,被称为“PHPer”,他们成为了软件世界中最有影响力的社区之一。有趣的是,开源的浪潮经过数年的发展,早已经走向庙堂,无论是Intel、IBM、Oracle,甚至是微软,都成为鼓吹甚至主导开源的力量。11月初,微软与Zend公司达成了一项长期合作的伙伴关系,共同推动PHP语言的发展。
与其说开源运动是个颠覆者,不如说更像是粘合剂。中国开源软件推进联盟主席陆首群说,LAMP也可以派生出WAMP(W代表Windows)。事实上,PHP与.Net是并存的,PHP也可以和Windows捆绑在一起,两者并没有冲突,可以因地致宜地使用开源与闭源混合架构(Mix)。
目前PHP社群和Zend公司的目标,是将PHP推广到企业级应用。在这一点上,欧洲和北美远远领先于中国。Zend(中国)技术支持中心总监耿志军说,PHP已经在金融、政府、交通、电信、媒介、娱乐等各大行业被广泛使用,完全脱离了一个简单网络语言开发工具的境界。而在中国, PHP只应用于门户网站和部分的专业网站,严谨的政府和金融网站难以看到它的身影。
即便如此,PHP正在崛起,这一点毫无疑问。正如Red Hat推动了Linux的发展,Zend也正努力将PHP带入黄金时代。Zend于2005年在慕尼黑新开设了一家子公司;今年在法国也将设立一个子公司;在中国,Zend公司与康盛创想公司建立了合作关系,并成立了Zend(中国)技术支持中心。有很多像耿志军这样的年轻人正加入到这个队伍中,这些围绕着PHP的力量和这个语言本身一样充满了朝气。
PHP是一个简单而有生命力的语言
—专访PHP语言创始人之一Zeev Suraski
2006年10月23日,作为PHP语言核心缔造者之一的Zeev首次来到中国,本刊记者对他进行了独家专访。
《互联网周刊》:随着PHP版本的升级,软件包会不会越来越复杂,以致偏离它的原始设计目标?
Zeev(Zend公司创始人、CTO、PHP的创始人之一):这个问题确实有可能存在,但我们一直在尽量避免。十年前,当我和Andi Gutmans进行PHP开发时,就已经非常注意保持简洁这个核心要素。比如说,PHP 5就比PHP 4更为简化。当然我们会支持一些新的技术,但简单是我们最根本的一个特点。
《互联网周刊》:我们知道商业公司的决策人会是董事会或CEO,但在像PHP这样的开源社区里,重大决策是如何形成的?
Zeev:做决策时我们有一个社区的基础,并不是由1个人拍板就能决定的。有一个大概20人的团队,都可以对决策过程施加影响,包括我,包括Andi Gutmans,还有一些研发人员。通常我们会对讨论的问题有一个共识,在此基础上再进行决策。但如果没有共识,就会有一些麻烦了,讨论的时间也会比较长。经过10年的发展,我们基本形成了一套机制。不过在决策方面,我们的确会比一般的商业公司占用的时间要长一些。
《互联网周刊》:这样会不会出现一个问题,PHP会不停的有补丁释出,导致软件的发布时间被拖长,比如从PHP 5到PHP 6。
Zeev:你说的这种情况有时的确会发生。但是我们有一个底线,就是尽早确定一些最主要的特征。比如PHP 6中的Unicode特性。我们会定义一个目标,就是这个产品本身必须是高质量的,即使发布拖的时间比较长,但总体能保证它是一个好产品。
《互联网周刊》:许多公司因为PHP的使用而受益并且发了大财,但语言和体系的创始人却往往不是最富有的,比如Java的创始人、Linux的创始人。你对金钱怎么看待?
Zeev:未来总是不可预测的。目前虽然我不是百万富翁或亿万富翁,但是我对生活非常满意,而且非常喜欢。
我首先是为Zend公司工作。Zend已经价值数亿美元,但我们的主要目标还是推进PHP语言的发展。当然我们仍是一个公司,而不是一个非盈利性的组织,但我们的关注点并不只是赚钱。如果有一个公司对我们说,我们想收购你或想和你合作,我们不会立刻就说同意。因为我们看重的不光是钱,关键是要看我们是不是有共同的目标,能够推进PHP语言的发展。
发布时间: 2006-11-20 15:18 作者: 张路 信息来源: 互联网周刊
这个安装有点麻烦,自己装过N次还没装熟悉,现在把以前的版本的安装方面贴出来,方便自己以后查阅,免得每次都要百度,搜狗.新版本的安装可以借鉴这个方法.
PHP的执行效率是有目共睹的,这也是我喜欢它的原因之一,和它称为绝妙搭档的Mysql以及Apache想融合,不能不惊叹其效率了。PHP更新也很快,这里列举了目前最新版本PHP4.3.2RC4(几乎没有BUG了,估计写完这篇不久后正式版就出了),和最新版本的Mysql4.0.13的安装过程。
PHP的安装文件可以直接到 http://www.php.net/ 下载,获得for win32的.zip包(5.8M)
Mysql的安装文件可以直接到 http://www.mysql.com 下载,获得for win32的.zip包
另外如果想体验Apache和PHP的配合效果而要放弃IIS的话,请到 http://www.apache.org 下载最新的for win31的.MSI安装包,目前最新版本是2.0.45。
另外,可以下载Zend Optimizer来对PHP进行加速。具体可以访问 http://www.zend.com
<1>安装配置PHP
1.解压缩PHP压缩包到C:PHP(这个路径可以随意,不过以下要是用到这个路径,请相应的修改)。
2.复制C:PHP目录下的php4ts.dll及C:PHPdlls目录下的所有文件到windows的系统文件夹里,文件夹视Windows版本的不同而不同
如果是Windows 9x/ME 则为c:windowssystem
如果是Windows NT/2000 则为c:winntsystem32
如果是Windows XP/server2003 则为c:windowssystem32
其中C:为你现在所使用的操作系统的系统盘,如果你目前操作系统不是安装在C:windows下,请相应做出修改。
复制php.ini-dist到C:windows(XP/2003/9x/Me)或C:Winnt(2000/nt)下,并将其改名为php.ini。用记事本打开,修改一下信息:
搜索extension_dir = ./ 这行,并将其路径指到你的PHP目录下的extensions目录,比如:
extension_dir = C:PHPextensions
如若想支持更多模块,请接下面去做,如果不想的话,直接保存php.ini文件即可.
PHP所支持模块很多,不过有些dll不是免费的,所以没有随PHP的压缩包一起发布,不过dlls文件夹里带的就非常多了,刚才我们已经把它们复制到system32文件夹下了,现在我们测试看它支持多少模块。以下是我测试的结果,仅供参考,如果安装完毕后,弹出不支持xxx.dll模块的话,直接将前面分号加上去就可以了,搜索:
;Windows Extensions
;Note that MySQL and ODBC support is now built in, so no dll is needed for it.
;
下面都用分号在前面注释掉了支持的扩展模块,如果你想PHP支持某个模块,请将前面的“;”去掉即可,下面是我测试后的结果,一般按照下面那样去掉注释后没什么问题的:
extension=php_bz2.dll
extension=php_cpdf.dll
extension=php_crack.dll
extension=php_curl.dll
extension=php_db.dll
extension=php_dba.dll
extension=php_dbase.dll
extension=php_dbx.dll
extension=php_domxml.dll
extension=php_exif.dll
extension=php_fdf.dll
extension=php_filepro.dll
extension=php_gd2.dll
extension=php_gettext.dll
extension=php_hyperwave.dll
extension=php_iconv.dll
;extension=php_ifx.dll
;extension=php_iisfunc.dll
extension=php_imap.dll
extension=php_interbase.dll
extension=php_java.dll
extension=php_ldap.dll
extension=php_mbstring.dll
;extension=php_mcrypt.dll
extension=php_mhash.dll
extension=php_mime_magic.dll
extension=php_ming.dll
extension=php_mssql.dll
extension=php_msql.dll
;extension=php_oci8.dll
extension=php_openssl.dll
;extension=php_oracle.dll
extension=php_pdf.dll
extension=php_pgsql.dll
;extension=php_printer.dll
extension=php_shmop.dll
extension=php_snmp.dll
extension=php_sockets.dll
;extension=php_sybase_ct.dll
extension=php_w32api.dll
extension=php_xmlrpc.dll
extension=php_xslt.dll
extension=php_yaz.dll
extension=php_zip.dll
修改完成后,保存php.ini,到此完成PHP的安装和配置。
<2>Mysql的安装
Mysql相对来说是比较独立的,这个数据库很小,不能直接对它进行操作,不像access或者SQL2000那么直观,不过目前已经有很多软件可以很好的操作它的,比如phpMyAdmin,mysqlcc。这些软件可以到 http://www.mysql.com 上面下载获得,这里不详细说明。
下载获得Mysql的for win32安装包后,用winzip打开,直接运行setup.exe,需要注意的是选择一个安装路径,当然,安装路径可以任意,不过我建议将它和PHP安装在一起,选择C:MySQL目录。安装完成后MySQL也就完成了。至于设置用户和密码,可以使用上面提到的两个软件进行管理。这里不继续描述,默认的用户名是root,密码为空。
一般装完MySQL后会自动启动服务,如果没有启动的话,请运行C:MySQLbinmysqld-nt.exe
<3>apache
我们下载到的for win32的是一个Msi安装文件,直接双击它后就会自动执行Apache的安装了,按照提示安装即可,其中要书写的东西按照你的喜好填写,没甚么影响,当然,目录我还是建议你和PHP的目录以致,选择C:目录,这样安装后可以看到C:Apache2了。装完后会在桌面右下角系统托盘里显示apache的图标,双击可以打开Apache的控制面板,可以停止或者重起服务器。
这里要做的是对C:Apache2confhttpd.conf这个文件进行修改,用记事本打开:
找到:
#NameVirtualHost *
修改为:
NameVirtualHost 127.0.0.1
找到:
<VirtualHost 127.0.0.1>
修改下面几行:
ServerAdmin (你刚才安装时候输入的管理员信箱)
DocumentRoot c:Apache2htdocs
ServerName Apache2
ErrorLog c:Apache2logserror_log
CustomLog c:Apache2logsaccess_log common
</VirtualHost>
找到:
AddType application/x-tar .tgz
在下面添加以下两行:
AddType application/x-httpd-php .php
AddType image/x-icon .ico
找到:
#LoadModule ssl_module modules/mod_ssl.so
在下面添加一行:
LoadModule php4_module C:phpsapiphp4apache2.dll
增加默认文件:
找到DirectoryIndex * 这行,可以这样修改,添加默认的文件名:
DirectoryIndex index.php default.php index.htm index.html default.htm default.html
保存文件,重起apache服务器。
到此PHP的环境已经完全建立了。
<5>Zend Optimizer的安装(可以不装)
下载来后是一个.exe的文件,直接安装就可以了,安装过程要你选择PHP版本,一定要选择准确,这里我选择php 4.3.x 完成安装之前提示是否备份php.ini,点确定后就结束安装了。
打开php.ini,修改一个地方:
找到:
[Zend]
在下面可以看到:
zend_optimizer.optimization_level=*
这行,
将=后面数值改为1023,也就是将这行改为
zend_optimizer.optimization_level=1023
保存后就OK了哦,重起Apache/IIS,到此安装全部结束。我也很累啊:)
<6>测试:
用记事本新建个文件,写下下面几行,保存到C:Apache2htdocs目录下,这个目录就是你的站点跟目录,命名为phpinfo.php.然后在浏览器中输入http://localhost/phpinfo.php就可以看到想尽的关于PHP的信息了。
| CODE |
| <?php phpinfo(); ?> |