联想软件超星空工作室 马洪志
PHP(Personal Hypertext Preprocessor) 近一两年来似乎已经成为Linux/Unix上最广为使用的网页处理语言,方便、功能强大与源代码开放(OpenSource)的特性使得它正逐渐占领传统的CGI,甚至是 MicroSoft ASP(Active Server Page)的市场,很多的web站点用PHP做动态网页处理。
究其原因,可以总结如下:
PHP是OpenSource的软件,基于GPL协议,源代码开放,免费使用,自由发放,这样吸引了大量的人使用,同时也得到了商业公司的支持,特别是在PHP4中,zend为PHP提供了引擎和优化部分,你可以访问http://www.php.net或http://www.zend.com,可以得到更多的信息。
PHP本身的语法非常的简单,和C、Perl语言有很大的相似。当我第一次接触PHP时,感觉它简直是Perl的克隆。PHP本身非常简单易懂,同时提供面向对象的处理能力,让新手足以在最短时间内学会。
PHP 提供了非常丰富的功能,包含了数学处理、字串处理、网络相关功能、各种数据库的支持、图像处理功能。有很多人为PHP发展提供各式各样的新功能,它的扩性极佳。目前,PHP对Flash提供了较好的支持。
PHP很容易与Apache相结合,可以作为Apache的模组来使用,同时,在Apache中设定安装相当简单,也因为Apache目前已经占据了Web Server 全球 60% 的市场,PHP 自然而然成为 Apache 最佳搭配。同时为了提高web服务器的速度,可以把PHP直接编译进Apache,提高web服务的访问、处理速度。
PHP的另外的一个功能是:它实际上是可以作为shell script来应用的。PHP作为shell script比其他的shell语言有很大的优势。尤其PHP的数据库的服务功能非常的强大,用户可以方便的访问数据库系统。
编译PHP让它用来做解释器,本文的操作环境是HappyLinux家用版V1.0,以root身份执行下面的步骤:
获得PHP的源代码
PHP的源代码在http://www.php.net 的网站上可以得到,同时国内的很多的网站上提供改网站的镜像。目前,最新的版本是PHP 4.0.2。
解开PHP源码包
tar zxvf php-4.0.2.tar.gz
编译PHP
cd php-4.0.2
configure --with-ftp --with-pgsql
make
注意configure的参数看PHP的帮助文件,以便你能更好的配置PHP。
当编译完成后,在php-4.0.2目录下会生成一个php的文件,将这个文件拷贝到/usr/sbin/
cp ./php /usr/sbin
测试编译的结果
输入下面的结果到文件test.php中:
#!/usr/sbin/php
<?php
echo “Hello World!\n”
?>
保存结果到test.php中并更改文件的属性:
chmod 777 ./test.php
执行文件test.php
./test.php
这时你能够看见结果:
X-Powered-By: PHP/4.0.2
Content-type: text/html
Hello World!
这个结果你可能有些失望,它并不是我们要的全部的结果。因为,PHP主要是做为网页的应用,上面的头两行是输出的HPPT的头,怎样让PHP去掉这两行呢?你仅仅需要在加入参数-q就可以去掉HPPT头:
#!/usr/sbin/php -q
<?php
echo “Hello World!\n”
?>
再看一下输出的结果:
Hello World!
OK!搞定。下面用PHP做脚本列举一些应用
用PHP连接数据库
PHP提供大量的数据库的函数,几乎所有的数据库PHP提供一套数据库的函数,所以用PHP写脚本,访问数据库是一个很好的主意。下面的例子是用PHP访问postgresql数据库的一个例子:
#!/usr/sbin/php -q
<?php
string=$con=pg_Connect("dbname=test port=5432 host=127.0.0.1 user=postgres\ password=postgres");
echo $con."\n";
pg_exec($con,"insert into test1 values (''ok'',1,1)");
pg_close($con);
?>
执行这个脚本,PHP访问数据库test,同时,会向test1表中插入一个记录。有关