php是编程语言和应用程序服务器的结合。php和其它的编程语言类似,使用变量存储临时数值,使用操作符处理变量。php的真正价值在于它是一个应用程序服务器。
当谈到应用程序服务器的时候,我是指一个把几个不同的技术组合为一个完整的套件的程序。这些技术包括:
* 一个强壮的编程语言。
* 存取数据库中存储的数据。
* 支持 internet协议,尤其是电子邮件和http协议。
注意:应用程序服务器有许多其它的特性,这里只列出了最基本的特性。
由于提供了这些多种不同技术的前端接口,php可以使工作变的很容易。
本章的其它部分讲述了有关php的许多繁杂资料,以及它在应用软件开发中起到的作用。
1.1 起源
php是由rasums lerdorf创建的,它开始是一个简单的用perl语言编写的程序,用来记录rasums lerdorf自己在线简历的访问者。以后它又被用c语言重新写过,范围扩大到访问数据库。在这期间,有许多人向rasums lerdorf要此程序的拷贝,以便自己使用。rasums lerdorf为此写了一些介绍此程序的文档,并发布php v1.0。以后,越来越多的人开始使用php,并强烈要求增加一些其他的特性,如循环语句和数组变量等。到这时,其他的一些程序员也开始参与php源码的编写(主要有zeev suraki和andi gutmans),很明显,此时的php为了以后的发展,必须重新编写。因此,php v3.0就出现了。
1.2 特性
php的特性包括:
* 开放源码 -- 所有的php源码都可以得到。事实上,所有的源码都包含在随书附带的光盘中。
* 没有运行费用 -- php是免费的。
* 基于服务器端 -- 由于php是在web服务器端运行的,php程序可以很大、很复杂而不会降低客户端的运行速度。
* 跨平台 -- 虽然本书是以linux为重点介绍的,但php程序可以运行在unix,linux,或者windows操作系统下。
* 嵌入html -- 因为php语言可以嵌入到html内部,所以php很容易学习。
* 简单的语言 -- 和java和c++不同,php语言坚持以基本语言为基础,然而它的功能也强大到足以支持任何类型的web站点。
* 效率高 -- 和其它的解释性语言相比,php系统消耗较少的系统资源。当php作为apache web服务器的一部分时,运行代码不需要调外部二进制程序,服务器解释脚本不需要承担任何额外负担。
* 分析xml -- 用户可以组建一个可以读取xml信息的php版本。
* 数据库模块 -- 用户可以使用php存取oracle、sybase、ms sql、adabase d、mysql、msql、postgresql、dbase、filepro、unix dbm、informix/illustra等类型的数据库,以及任何支持odbc标准的数据库。
* 文件存取--php有许多支持文件存取函数。
* 文本处理--php有许多函数处理字符串,其中包括模式匹配的能力。
* 复杂的变量--php支持标量、数组、关联数组等变量,这给用户提供了以支持其它的高级数据结构的坚实基础。
* 图象处理--用户可以使用php动态的创建图象。
* 更多的其它功能!
1.3 php需要花费多少钱?
php是免费的。所有的源码、文档都可以免费的复制、编译、打印和分发。用户的任何一个用php编写的程序都属于用户自己,可以按照自己的意愿进行处理,而不需要付任何版税。就php本身而言,用户可以无限制地发布自己编写的程序。
然而,有着很充分的理由,php并不是彻底的“公共领域”代码。如果php源码是完全的公共领域代码,很可能就有人对php的源码做很小的修改,然后编译并出售--换一句话说,从它的创作者中脱离出来。但从另一方面说,如果不公布源码,很难使想使用它的用户感到放心。
gnu通用公共许可是一种发布免费软件的方法,它可以避免其他人占有你的劳动成果。在符合gnu许可的条件下,源码可以自由地发布,并且任何一个人都可以使用,但是任何来源于此代码的程序必须以同样种类的许可方式发布。换句话说,如果用户从任何gnu许可下的源码中得到代码而编写自己的程序,用户必须给任何想得到源码的人共布自己的源码。
1.4 php语言可以嵌入html中
当使用者使用经典程序设计语言(如c或pascal)编程时,所有的代码必须编译成一个可执行的文件,然后该可执行文件在运行时,为远程的web浏览器而产生可显示的html标记。但另一方面,php并不需要编译(至少不编译成可执行文件)。使用者可以把自己的代码混合到html中。例如,下面的代码将显示“hello,world!”,php代码在下面以黑体字显示。
<html>
<head><title>test</title></head>
<body>
<?php $string = 'world!'; ?>
<h1>hello,<?php echo $string ?></h1>
</body>
</html>
php应用程序服务器(本书的主要写作目的)是紧密集成到apache web服务器中的,可以在一个程序内同时调用它们两个。当web浏览器请求php web页面的时候,web服务器的php部分将被调用进行解释。web服务器在请求的web页中寻找<?php . . . ?>标记,并按要求执行这些php代码。
由php代码生成的输出将替代<?php . . . ?>标记。例如,当php代码运行后,以前的web页面将变成如下所示的内容:
<html>
<head><title>test</title></head>
<body>
<h1>hello,world!</h1>
</body>
</html>
注意,所有的php代码都消失了,仅仅留下了html语句。而由php代码生成的html语句在上例中以黑体的形式显示。
1.5 php语言是在web服务器端运行
当开发互联网应用程序时,很重要的一点是要清楚应用程序是在哪一端运行的。php总是运行在服务器端。不要嘲笑对这一点的强调。在以后考虑对应用程序某些特性进行规划时,有的人可能就会在应用程序在哪里运行的这个问题上搞错,不要让自己也成为这些人中的一个。
由于java applets,activex,或javascript 都是运行在客户端的web浏览器中的,因此php不能直接和它们进行比较。然而可以很容易的将这些语言与php相结合在一起,使用php可以很方便地生成所需要的任何html代码,当然也就能激活java applets和activex控件,还可以动态生成javascript语句。当对互联网应用程序开发还很陌生的时候,这也许没有什么意义,但是在读完这本书后,这一切就会变得十分清晰的了。
1.6 php无处不在
无处不在是常使用的充满激情的词语,到1999年7月,将有60万左右的web站点使用php,1999年夏天有关linux和开放代码运动的大发展很可能使php团体有突破性发展。可以在
http://www.php.net/usage.php3
站点上看到它的发展趋势图表。
此外,php邮件列表每天能收到大约80个电子邮件,每个月能收到大约2500个电子邮件,这说明php是一个非常活跃的开发团体。使用php的商业公司有以下几个,mitsubishi motors、volvo、red hat software、e*trade、first usa bank、the san francisco giants和san diego zoo等等。
1.7 php和c或java相似吗?
php程序和c程序有略微相似的地方,这是由于php来源于c、perl和java。一些对c语言来讲比较麻烦的方面(如处理字符串的技术),由于采用了和perl相近的技术,在php中就不再是麻烦了。php中也不包括java中的一些面向对象特性。
php能很好地处理某些低级的任务,如果代码需要运行的特别快,可以很方便的使用c为php程序编写模块。
1.8 php比coldfusion、active server page或java server page更好吗?
以流行的商议方式,我总是回答,“可以是,也可以不是”。
回答是,是由于它的费用(免费)以及可以通过邮件列表、irc而在世界范围内有广泛的支持网络。同时php还在不断地发展着,如果想要一个php现在没有的特性时,请等待几个月,就有人很快为php编程而加上此种特性。
回答不是,是由于商业软件有比php更多的特性。例如,allaire's coldfusion有一个已证实可靠的搜索引擎组件。微软的active server page技术提供了与outlook、电子邮件和工作组程序相结合的能力。java server page让使用者可以使用互联网上的大量开放源码模块。
1.9 总结
对于遍及互联网上的php,本章仅仅简要提到了它的一些特性,本章也介绍了当设计互联网应用程序时,php为什么是最好的编程工具之一的原因。
php文件一样可以用bt软件打开的,放心使用,没问题的。我以前也下过好多php的种子文件。
你是要让你的装了iis的机器支持php呢还是只是单纯的打开*.php的文件?
如果是要支持php,那么你要装专门的php解释器。
首先你去下载php-4.3.4-win32.zip。
下面为配置步骤:
1)将php-4.3.3rc4-win32.zip里面的所有文件和文件夹解压缩并放置在c:\\php4\\文件夹中,没有自己创建该文件夹
2)进入php4文件夹,查看根目录和子目录,把所有.dll文件都统统复制粘贴到c:\\winnt\\system32(win2k)或c:\\windows\\system32(winxp)中
3)把php4文件夹里面的php.ini-dist和php.exe文件复制到
c:\\winnt\\(win2k)或c:\\windows\\(winxp)中,并将php.ini-dist文件改为php.ini
4)双击php.ini打开该配置文件,进行下面3个地方的修改:
1> 把extension_dir = "c:\\php4\\extensions" 改为你安装php4的 extensions文件夹路径
2> 把 ;cgi.force_redirect = 1 改为 cgi.force_redirect = 0
3> 把 register_globals = off 改为 register_globals = on
4> 找到 ;windows extensions 段,你应该可以看到如下代码
;
;extension=php_bz2.dll
;extension=php_c
pdf.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
具体还得看你需要加载哪些.dll文件,不过你按照下面我这样改也行,主要是要加载的.dll文件就去掉前面的分号( ; ) :
;
;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
5)再次打开控制面板-管理工具-internet服务管理器,在"默认web站点"上右键单击,选择"属性"
6)选中"默认 web 站点 属性"窗口的"主目录"选项卡,点击右下角的"配置"按钮,出现"应用程序配置"窗口,点击"应用程序映射"下面的"添加"按钮,添加下面的程序映射:
可执行文件: c:\\php4\\php.exe %s %s (也就是你的php4文件夹路径)
扩展名: .php
确定完成配置!
7)切换到"默认 web 站点 属性"窗口的"isapi筛选器"选项卡,点击右边的"添加"按钮,添加下面的一个筛选器:
筛选器名称: php
可执行文件: c:\\php4\\sapi\\php4isapi.dll (也就是你的php4文件夹的 sapi文件夹路径)
确定后关闭"internet服务管理器"
8)继续切换到"默认 web 站点 属性"窗口的"文档"选项卡,点击右边的"添加"按钮,添加如下"启用默认文档":
index.php 也可以添加 index.php3 index.php4 等等 看你的需要而定
点击左边的"↑"按钮,把index.php文档提升到最上面
现在你的iis也支持php了.
php 是一种新型的 cgi 程序编写语言.应该说是个嵌入式脚本文件。和asp、jsp有很多类似的功能。唯一不同的是,asp要整站的解释在传递,而php则可以嵌入html代码里,和html一起发送。要读.php文件就要用php解释器。现在用的是php v4.3.0有支持windows和 unix/linux的版本。当然你还要在自己机子上虚拟主机,可以用很出名的apache软件。
.php可以用文本编辑器(如记事本、emeditor、phpedit等)打开。如果要运行它得安装相应的php解释器和web服务支持才行。
参考资料:
http://zhidao.baidu.com/question/3222075.html
这个要使用第三方软件来实现,我推荐windowspace,运行了这个程序,在窗口左上方的菜单里就会多出一个带子项的“windowspace”菜单,在子菜单里的第一个选项就可以实现窗口显示在最前端。