|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
工具程序用来显示 Rasmus Lerdorf 的个人履历,以及统计网页流量。初级|技能 全球超越300万个互联网网站的办理员都在利用PHP,使得它成为最为普及的办事器端剧本言语之一。其特色是运转速度快、不乱牢靠、跨平台,并且是开放源代码软件。随你利用的程度分歧,PHP可以很复杂,也能够很庞杂,可以只利用它发送HTML表格元素,还可以在PHP使用法式中集成Java和XML。
假如你对PHP有必定的懂得或看过一些初步的教材,这些技能可以扩大你对PHP的熟悉,使你把握一些罕见的和初级的PHP功效。
1、把PHP装置为Apache的DSO
PHP在Linux/Unix平台上常常与Apache搭配利用,在装置PHP时,有三种装置体例可供选择:静态形式、静态形式(DSO)、CGI二进制形式。
因为易于保护和晋级,我激烈建议以DSO体例装置PHP。例如,初度装置时假如装置的PHP仅撑持数据库,随后但愿再装置撑持加密的模块,只需运转“make clean”,添加新的设置装备摆设选项,然后再运转“make”和“make install”便可,一个新的PHP模块就会装置在Apache中恰当的地位上,然后从头启动Apache,而无需从头编译Apache。
上面的步调将装置一个全新的Apache,并以DSO体例装置PHP:
1、从Apache软件基金会失掉最新版本的Apache源代码;
2、把失掉的源代码放到/usr/local/或/opt/目次下,或你指定的恣意目次中;
3、运转Gunzip对文件停止解紧缩,失掉后缀为.tar的文件;
4、运转上面的号令,把文件装置到apache_[version]目次中:
tar -xvf apache_[version].tar
5、进入/usr/local/apache_[version]目次(或在步调4中装置紧缩文件的目次);
6、键入上面的号令为编译Apache作筹办,用你本人的途径交换个中的[path],例如,/usr/local/apache[version],如今已设置了mod_so的新值,它将答应Apache利用DSO模块;
7、回到提醒符形态后键入make,并守候再次回到提醒符形态;
8、履行“make install”号令。
至此,Apache已装置终了,体系将重回到提醒符形态。接上去咱们入手下手装置PHP:
1、在PHP主页的下载区中找到最新版本的链接;
2、把文件下载到一个恰当的目次中,例如/usr/local/或/opt/或你指定的恣意目次中;
3、运转Gunzip对文件停止解紧缩,失掉后缀为.tar的文件;
4、履行上面的号令把文件装置在php-[version]目次中:
tar -xvf php-[version]
5、进入/usr/local/php-[version]目次或在步调4中指定的目次;
至此,已作好了以DSO体例装置PHP的筹办任务,独一需求修正的设置装备摆设选项是with-apxs(这是Apache的bin目次中的一个文件)。为了失掉较高的功能,我没有装置对MySQL的撑持模块。
./configure --with-mysql=/[path to mysql] --with-apxs=/[path to apxs]
6、回到提醒符形态后履行make号令,守候从头前往到提醒符形态;
7、履行make install号令。
至此,体系以DSO体例在Apache的模块目次中装置了PHP,并对Apache的httpd.conf文件作恰当的修正后前往到提醒符形态。回到提醒符形态后,你还需求对Apache的httpd.conf文件作一些修正。
1、找到包括有ServerAdmin的一行,添加你的电子邮件地址,以下所示:
ServerAdmin you@yourdomain.com
2、找到以ServerName开首的行,把它改成真实的值,例如:
ServerName localhost
3、找到内容以下所示的大节:
# And for PHP 4.x, use:
#
#AddType application/x-httpd-php .php
#AddType application/x-httpd-php-source .phps
修正这些行的内容,使PHP 4.0的AddType不再成为正文,并添加但愿在PHP中利用的文件后缀名,下面的内容变成以下所示的内容:
# And for PHP 4.x, use:
#
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
保留文件,回到上一级目次,履行上面的号令从头启动Apache:
./bin/apachectl start
假如在启动时没有呈现毛病提醒信息,就能够经由过程创立一个名为phpinfo.php的只要以下所示一行内容的文件,对装置的Apache、PHP停止测试:
<? phpinfo() ?>
把这个文件保留到Apache的文档根目次(htdocs)中,然后开启阅读器,键入http://localhost/phpinfo.php地址,屏幕上就会呈现很多的变量和它们的值。
假如要从头设置装备摆设PHP,需求再次运转make clean号令,然后履行带有一系列选项的./configure号令,然后再履行make和make install号令,Apache的目次模块中就会呈现一个新的模块,只需再从头启动Apache加载这个新的模块,就一切OK了。
2、利用PHP自己的对话
PHP 4.0中最使人等候的特征应当是对对话的撑持,PHP 3.0的用户必需利用第三方的软件不然就不克不及利用对话,不撑持对话一向是PHP最大的缺憾之一。
只需用户在阅读你的网站,你就能够使用对话保护与特定用户有关的变量,而无需创立多个cookie、利用埋没表格字段或将信息存储在数据库中。
在一个网页上启动一个对话,就会使PHP引擎晓得你想启动一个对话(假如还没有启动)或持续以后的对话:
session_start();
启动一个对话将经由过程cookie向用户发送一个辨认字符串(例如940f8b05a40d5119c030c9c7745aead9),在办事器端,会创立一个与辨认字符串婚配的一时文件,例如sess_940f8b05a40d5119c030c9c7745aead9,这个文件中包括注册的对话变量和它们的值。
用来显示对话的感化的最多见的例子是会见计数器。启动PHP模块,确保PHP代码是文件的第一行,在PHP代码之前不要有空格、HTML代码和其他的代码。由于对话会发送一个头部,因而假如在session_start()之前有空格和HTML代码,就会失掉一个失足信息。
<?
// 假如还不存在一个针对某用户的用户,则启动一个对话:
session_start();
然后注册一个名字为count的变量:
session_register('count');
注册一个对话变量后,只需对话存在,名字为count的变量也就存在。如今,count变量还没有被赋值,假如对它履行加1操作,它的值就变成了1。
$count++;
把上述内容综合在一起,假如还没有启动一个对话,就会启动一个对话;假如不存在一个对话id,就为用户指定一个好了,注册一个名字为$count的变量,对$count履行加1操作暗示用户已初次会见了该网页。
要晓得用户在以后的对话中会见本页面的次数,只需显示$count变量的值便可:
echo "<P>You've been here $count times.</p>";
全体的会见计数器代码以下所示:
<?
session_start();
session_register('count');
$count++;
echo "<P>You've been here $count times.</p>";
?>
假如从头加载上述的剧本文件,就会发明变量count的值增添了1,很酷吧。
还可以在对话中注册一个数组变量,假定咱们注册了一个名字为$faves的变量:
$faves = array ('chocolate','coffee','beer','linux');
可以象注册一个复杂变量那样注册一个数组变量:
session_register('faves');
援用数组变量与援用复杂变量没有甚么二样,假如一个用户在网页上指出在生涯中的喜好时,可以把他的喜好注册到一个被称作$faves的数组变量中,然后可以在另外一个网页中很便利地把这些喜好显示出来:
<?
session_start();
echo "My user likes:
<ul>";
while (list(,$v) = each ($faves)) {
echo "<li>$v"; }
echo "</ul>";
?>
然后你就失掉了一个关于用户喜好的清单。
对话变量不克不及被查询字符串掩盖,也就是说咱们不克不及输出http:///www.yourdomain.com/yourscript.php?count=56给注册变量$count指定一个新值,这一点关于平安很主要:只能在办事器真个剧本中删除一个没有注册的对话变量。
假如要完整删除一个对话变量,起首需求从体系中刊出它:
session_unregister('count');
要完整删除一个对话变量的剧本长短常复杂,以下所示:
session_destroy();
利用对话变量可以削减会见数据库的频率,使代码加倍明晰,并且可以削减对用户发送的cookie的数目,它是最复杂的办法了。 接触MYSQL,开始设计数据库程序 |
|