俗话说,工欲善其事,必先利其器。开发工具的重要性,不言而喻。
1.PHP开发环境搭建
之前有用过一键安装的集成开发环境Wamp、XAMPP等。那些集成的一键安装软件确实很便捷就能搭建好开发环境。但这种方式也存在一个问题,就是自由自合的灵活性不好,同时也不利于真正的学习。所以,现在我还是老老实实地进行手动搭建为好。
一般而言,采用Apache+PHP+MySQL组合,因为这是学习时最常见的。当然,不能仅限于此,今天我想扩展开来,了解一下其他的组合。例如Nginx+php+oracle、nginx+php+mysql+apache、php mysql nginx、LightTPD+Mysql+PHP等等。
下面,就web服务器、PHP版本、数据库三个方面做个比较全面的简单了解。
(1)Web服务器的选择
Nginx(发音同 engine x)是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev所开发,最初供俄国大型的入口网站及搜寻引擎Rambler(俄文:Рамблер)使用。 其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页伺服器中表现较好.目前中国大陆使用nginx网站用户有:新浪、网易、 腾讯,另外知名的微网志Plurk也使用nginx。
Lighttpd是一个具有非常低的内存开销,cpu占用率低,效能好,以及丰富的模块等特点。lighttpd是众多OpenSource轻量级的web server中较为优秀的一个。支持FastCGI, CGI, Auth, 输出压缩(output compress), URL重写, Alias等重要功能。Lighttpd使用fastcgi方式运行php,它会使用很少的PHP进程响应很大的并发量。
Apache是世界使用排名第一的Web服务器。它可以运行在几乎所有广泛使用的计算机平台上。Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一。Apache取自“a patchy server”的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。
注:在相对比较大的网站,节约下来的服务器成本无疑是客观的。而有些小型网站往往服务器不多,如果采用 Apache 这类传统 Web 服务器,似乎也还能撑过去。但有其很明显的弊端: Apache 在处理流量爆发的时候(比如爬虫或者是 Digg 效应) 很容易过载,这样的情况下采用 Nginx 最为合适。
建议方案:
Apache 后台服务器(主要处理php及一些功能请求 如:中文url)
Nginx 前端服务器(利用它占用系统资源少得优势来处理静态页面大量请求)
Lighttpd 图片服务器
总体来说,随着nginx功能得完善将使他成为今后web server得主流。
(2)PHP版本的选择
PHP版本主要分三支:PHP4/PHP5/PHP6。其中,PHP4由于太古老、对OO支持不力已基本被淘汰,就不在详述。而PHP6由于基本没有生产线上的应用,还基本只是一款概念产品,所以也不详述。
PHP5的版本主要分三支:PHP5.2之前的版本、PHP5.2.X和PHP5.3。那我们应该如何选择适用自己项目的版本呢?PHP5.2之前的版本不值得考虑,因为某些功能缺陷或者BUG。主流PHP程序对PHP5.2.X的兼容性最好,而每次版本号的升级带来的都是安全性和稳定性的改善,所以宜挑选最新的版本。目前PHP5.2系列最新的是PHP5.2.14。而如果产品是自己开发自己使用,PHP5.3在某些方面更具优势,在稳定性上更胜一筹,增加了很多PHP5.2所不具有的功能,比如内置php-fpm、更完善的垃圾回收算法、命名空间的引入、sqlite3的支持等等,是部署项目值得考虑的版本。
除了版本号的不同,同一版本号的PHP版本也有区别,并且在选择PHP扩展的时候需要注意。
如何查看当前运行的PHP的版本?一个很简单的办法就是phpinfo(); Thread Safety disabled是NTS,enabled是TS。
(3)数据库的选择
MySQL(发音为”my ess cue el”,不是”my sequel”)是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言–结构化查询语言(SQL)进行数据库管理。
ORACLE 数据库是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。
2.PHP编程工具、编辑器选择
常用的编辑软件有:记事本、UltraEdit、Notepad++、Eclipse PDT、PHPDesigner 7、Dreamweaver 等等。
前面几个都用过,之前常用Notepad++,下次打算试试Eclipse PDT。
选择一个好的工具,将会提高我们的工作效率,这是肯定的。
作者:周森标
出处:http://zhousenbiao.com
本文版权归作者周森标所有,转载请包含作者签名和出处,不得用于商业用途,否则追究法律责任!