唐山网站建设

设为主页 加入收藏 繁體中文

PHP教程.经验技能(上)

核心提示:PHP编程,PHP教程,PHP5教程,PHP开发

全球超过300万个互联网网站的治理员都在使用PHP,使得它成为最为普及的服务器端脚本语言之1。其特点是运行速度快、稳定可靠、跨平台,而且是开放源代码软件。随你使用的水平不同,PHP可以很简单,也能够很复杂,可以只使用它发送HTML表格元素,还可以在PHP利用程序中集成Java和XML。

假设你对PHP有1定的了解或看过1些初步的教材,这些技能可以扩大你对PHP的熟习,使你掌控1些常见的和高级的PHP功能。

1、把PHP安装为Apache的DSO
PHP在Linux/Unix平台上常常与Apache搭配使用,在安装PHP时,有3种安装方式可供选择:静态模式、动态模式(DSO)、CGI2进制模式。

由于易于保护和升级,我强烈建议以DSO方式安装PHP。例如,初次安装时假设安装的PHP仅支持数据库,随后希看再安装支持加密的模块,只要运行“makeclean”,添加新的配置选项,然后再运行“make”和“makeinstall”即可,1个新的PHP模块就会安装在Apache中适当的位置上,然后重新启动Apache,而无需重新编译Apache。

下面的步骤将安装1个全新的Apache,并以DSO方式安装PHP:

1、从Apache软件基金会得到最新版本的Apache源代码;

2、把得到的源代码放到/usr/local/或/opt/目录下,或你指定的任意目录中;

3、运行Gunzip对文件进行解紧缩,得到后缀为.tar的文件;

4、运行下面的命令,把文件安装到apache_[version]目录中:

tar-xvfapache_[version].tar

5、进进/usr/local/apache_[version]目录(或在步骤4中安装紧缩文件的目录);

6、键进下面的命令为编译Apache作豫备,用你自己的路径替换其中的[path],例如,/usr/local/apache[version],现在已设置了mod_so的新值,它将答应Apache使用DSO模块;

7、回到提示符状态后键进make,并等待再次回到提示符状态;

8、履行“makeinstall”命令。

至此,Apache已安装终了,系统将重回到提示符状态。接下来我们开始安装PHP:

1、在PHP主页的下载区中找到最新版本的链接;

2、把文件下载到1个适当的目录中,例如/usr/local/或/opt/或你指定的任意目录中;

3、运行Gunzip对文件进行解紧缩,得到后缀为.tar的文件;

4、履行下面的命令把文件安装在php-[version]目录中:

tar-xvfphp-[version]

5、进进/usr/local/php-[version]目录或在步骤4中指定的目录;

至此,已作好了以DSO方式安装PHP的豫备工作,唯1需要修改的配置选项是with-apxs(这是Apache的bin目录中的1个文件)。为了得到较高的性能,我没有安装对MySQL的支持模块。

./configure--with-mysql=/[pathtomysql]--with-apxs=/[pathtoapxs]

6、回到提示符状态后履行make命令,等待重新返回到提示符状态;

7、履行makeinstall命令。

至此,系统以DSO方式在Apache的模块目录中安装了PHP,并对Apache的httpd.conf文件作适当的修改后返回到提示符状态。回到提示符状态后,你还需要对Apache的httpd.conf文件作1些修改。

1、找到包括有ServerAdmin的1行,添加你的电子邮件地址,以下所示:

ServerAdminyou@yourdomain.com

2、找到以ServerName开头的行,把它改成真实的值,例如:

ServerNamelocalhost

3、找到内容以下所示的小节:

#AndforPHP4.x,use:

#

#AddTypeapplication/x-httpd-php.php

#AddTypeapplication/x-httpd-php-source.phps

修改这些行的内容,使PHP4.0的AddType不再成为注释,并添加希看在PHP中使用的文件后缀名,上面的内容变成以下所示的内容:

#AndforPHP4.x,use:

#

AddTypeapplication/x-httpd-php.php.phtml

AddTypeapplication/x-httpd-php-source.phps

保存文件,回到上1级目录,履行下面的命令重新启动Apache:

./bin/apachectlstart

假设在启动时没有出现毛病提示信息,便可以够通过创建1个名为phpinfo.php的只有以下所示1行内容的文件,对安装的Apache、PHP进行测试:



把这个文件保存到Apache的文档根目录(htdocs)中,然后开启浏览器,键进http://localhost/phpinfo.php地址,屏幕上就会出现很多的变量和它们的值。

假设要重新配置PHP,需要再次运行makeclean命令,然后履行带有1系列选项的./configure命令,然后再履行make和makeinstall命令,Apache的目录模块中就会出现1个新的模块,只要再重新启动Apache加载这个新的模块,就1切OK了。

2、使用PHP本身的对话
PHP4.0中最使人期待的特性应当是对对话的支持,PHP3.0的用户必须使用第3方的软件否则就不能使用对话,不支持对话1直是PHP最大的缺憾之1。

只要用户在浏览你的网站,你便可以够利用对话保护与特定用户有关的变量,而无需建立多个cookie、使用隐躲表格字段或将信息存储在数据库中。

在1个网页上启动1个对话,就会使PHP引擎知道你想启动1个对话(假设还没有启动)或继续当前的对话:

session_start();

启动1个对话将通过cookie向用户发送1个辨认字符串(例如940f8b05a40d5119c030c9c7745aead9),在服务器端,会创建1个与辨认字符串匹配的临时文件,例如sess_940f8b05a40d5119c030c9c7745aead9,这个文件中包括注册的对话变量和它们的值。

用来显示对话的作用的最多见的例子是访问计数器。启动PHP模块,确保PHP代码是文件的第1行,在PHP代码之前不要有空格、HTML代码和其他的代码。由于对话会发送1个头部,因此假设在session_start()之前有空格和HTML代码,就会得到1个出错信息。


//假设还不存在1个针对某用户的用户,则启动1个对话:

session_start();

然后注册1个名字为count的变量:

session_register('count');

注册1个对话变量后,只要对话存在,名字为count的变量也就存在。现在,count变量还没有被赋值,假设对它履行加1操纵,它的值就变成了1。

$count++;

把上述内容综合在1块儿,假设还没有启动1个对话,就会启动1个对话;假设不存在1个对话id,就为用户指定1个好了,注册1个名字为$count的变量,对$count履行加1操纵表示用户已首次访问了该网页。

要知道用户在当前的对话中访问本页面的次数,只要显示$count变量的值即可:

echo"

You'vebeenhere$counttimes.

";

全部的访问计数器代码以下所示:


session_start();

session_register('count');

$count++;

echo"

You'vebeenhere$counttimes.

";

?>

假设重新加载上述的脚本文件,就会发现变量count的值增加了1,很酷吧。

还可以在对话中注册1个数组变量,假定我们注册了1个名字为$faves的变量:

$faves=array('chocolate','coffee','beer','linux');

可以象注册1个简单变量那样注册1个数组变量:

session_register('faves');

援用数组变量与援用简单变量没有甚么2样,假设1个用户在网页上指出在生活中的爱好时,可以把他的爱好注册到1个被称作$faves的数组变量中,然后可以在另1个网页中很方便地把这些爱好显示出来:


session_start();

echo"Myuserlikes:

    ";

    while(list(,$v)=each($faves)){

    echo"
  • $v";}

    echo"
";

?>

然后你就得到了1个关于用户爱好的清单。

对话变量不能被查询字符串覆盖,也就是说我们不能输进http:///www.yourdomain.com/yourscript.php?count=56给注册变量$count指定1个新值,这1点对安全很重要:只能在服务器真个脚本中删除1个没有注册的对话变量。

假设要完全删除1个对话变量,首先需要从系统中注销它:

session_unregister('count');

要完全删除1个对话变量的脚本是非常简单,以下所示:

session_destroy();

使用对话变量可以减少访问数据库的频率,使代码更加清楚,而且可以减少对用户发送的cookie的数目,它是最简单的方法了。

http://www.fw8.net/
TAG:文件,命令,变量,模块,提示符
评论加载中...
内容:
评论者: 验证码: