用php和mysql构建一个数据库驱动的网站二

将这个脚本添加到启动事务中是个比较复杂的任务。如果你使用的不是redhat linux而且你没有把握做这件事,你最好请教一下了解的人。在redhat linux中,执行以下命令(在mysql目录下)会完成这个工作: % cp share/mysql/mysql.server /etc/rc.d/init.d/ % cd /etc/rc.d/init.d % chmod 500 mysql.server % cd /etc/rc.d/rc3.d % ln -s ../init.d/mysql.server s99mysql % cd /etc/rc.d/rc5.d % ln -s ../init.d/mysql.server s99mysql   现在一切都做好了!要测试这个工作,你可以重启你的系统并对这个服务作出请求,看看它是不是正常工作了。 在linux下安装php   正如我们前面提到的,php并不是一个独立运行的程序。它实际上是你的web服务(可能是apache)的一个插件。实际上你有三种方法在apache中安装php插件:   作为一个cgi程序,apache每次需要处理php页面时运行它。   作为一个模块编译到apache程序中。   在apache每次启动时作为一个模块载入。   第一种方法的安装和配置最简单,但是这需要apache每次接收到php页面的请求时就将php作为一个程序调用。这肯定会降低你的web服务器的响应时间,特别是同时接收到不止一个的请求时更是这样。   第二种方法和第三种方法在性能方面同样的优秀,但是很可能你已经安装好了apache,你大概不想再去下载一次,并重新编译和重新安装。因此,我们使用第三种方法。   首先,我们从http://www.php.net/(或者在http://www.php.net/mirrors.php中列出的镜像站点之一)下载php的软件包。当我们在写这个教程的时候,php 4.0已经基本上成熟了。我自己就试过php 4.0-rc2,并没有遇到任何问题。估计最终的稳定版很快将会发布(可能到时候我们这个教程还没写完),我建议你安装最新的版本,这样当正式版出来时你将不需要做任何变动。在这里,我们安装的是3.0,我会注意指出3.0和4.0在安装时可能会有的差别。   你所下载的文件的文件名将是php-version.tar.gz。我们的第一步是解开这个文件: % tar xfz php-version.tar.gz % cd php-version   要将php作为apache可载入的模块安装,你需要apache的apxs程序。在个程序在绝大多数的apache的版本中应该都已包括,但是如果你使用的是通过redhat linux安装的拷贝,你需要安装apache高级rpm软件包来获得它。你可以从你的redhat光盘上找到这个软件包,你也可以从http://www.redhat.com/下载。在默认的情况下,redhat会将这个程序安装到/usr/sbin/apxs。如果你看到了这个文件,这证明它已经被安装了。   在这个安装过程中,你必须以超级用户的身份登录,因为其中包括了一些对apache配置文件的变动。   下一步是配置php安装程序,以使它知道选择哪些选项,并在哪儿寻找它所需要的程序(例如apache和mysql)。除非你很有把握,否则你只需输入下面的命令(在同一行中): % ./configure –prefix=/usr/local/php –with-config-file-path=/usr/local/php –with-apxs=/usr/sbin/apxs –enable-track-vars –enable-magic-quotes –enable-debugger   如果你已经安装了php 3.0(不是4.0或更迟的版本),你也需要通过以下附加的参数告诉它在你的系统中从哪儿寻找mysql: –with-mysql=/usr/local/mysql/   当经过几屏对显示器的测试后,你会回到命令提示符下。下面两个命令会编译和安装php: % make % make install   php现在已经被安装在/usr/local/php(除非你通过上面./configure的–prefix参数指定了不同的目录),你应该能在同一目录下(除非你通过上面./configure的–with-config-file-path参数指定了不同的目录)找到名为php.ini的配置文件, php提供了一个php.ini的模块文件,其文件名是php.ini-optimized (在php3.0中是php.ini-dist)。将这个文件拷贝到相应的目录: % cp php.ini-optimized /usr/local/php/php.ini   对于php 3.0: % cp php.ini-dist /usr/local/php/php.ini   你暂时不要担心php.ini的优化调整。现在,我们需要确保apache知道从哪儿找php,这样它才能在启动时装载它。使用你熟悉的文本编辑器打开你的apache httpd.conf 配置文件(在redhat linux中,在/etc/httpd/conf/httpd.conf)。 寻找象下面这样的一行: loadmodule php4_module lib/apache/libphp4.so   如果你安装的是php 3.0,这一行中的php4换成php3。 你所寻找的应该是一个新的未注释的行(不是以#开头的行),而不是你之前注释掉的那一行。一般情况下,它会和文件中其他loadmodule行显示在一起。当你找到它后,你需要改变路径以使它能够匹配文件中所有其他的loadmodule行。在redhat linux下,这意味着将这一行改变为: loadmodule php4_module modules/libphp4.so   然后,寻找以directoryindex开始的行。这一行告诉apache对于一个给定的目录寻找默认页时所使用的文件名。通常,你会看到index.html和其他一些文件名,你需要将index.php和index.php3添加到这一行: directoryindex index.html index.cgi … index.php index.php3   最后,到这个文件的最后并添加一个新行来告诉apache哪些文件的扩展名被看成php文件: addtype application/x-httpd-php .phtml .php .php3   一切都做好后,保存改变并重启你的apache服务。apache启动时不应该有任何出错信息。 安装后的设置   当php和mysql都安装好之后,不管你是在windows下、linux下或其他操作系统下,第一件事都是为mysql设置一个“root口令”。mysql仅仅允许经授权的用户访问并操作它的数据库中所存储的信息,所以你必须让mysql清楚谁是经授权的,谁是未经授权的。当mysql第一次被安装时,它会生成一个叫“root”的用户,该用户可以不用口令访问所有的东西。你的第一个任务就是为root用户设置口令,这样才能保证不会任何人都可以搞乱你的数据库。   你必须认识到mysql的重要性,正如web服务和ftp服务一样,在同一个网络上的任何机器都可以访问它。如果你在一个连接到internet的计算机上工作,这就意味着这个世界上的任何人都可以试图连接你的mysql服务器!你必须立即选择一个很难猜的口令!   要设置mysql中的root口令,在你安装mysql的目录的bin子目录下输入下面的命令(包括引号): mysqladmin -u root password “your new password”   要确保mysql接受这个改变,你必须告诉它重新载入经论证的用户和口令的列表: mysqladmin -u root reload   如果这个命令显示一个错误信息告诉你无法访问,不要担心,这仅仅证明口令已经生效了。   要测试你的新密码,你可以请求mysql服务器告诉你有关它的当前的状态: mysqladmin -u root -p status   当有提示时,输入密码。你会看到一些简单的信息,这些信息包含了服务的当前状态。-u root参数告诉程序你想要以“root”用户登入。-p参数告诉程序在连接之前提示你输入你的口令。status参数告诉程序你想要看看系统状态。   如果你需要关闭mysql服务器,你可以使用下面的命令。注意这里的-u root和-p参数的含义和上面提到的一样: mysqladmin -u root -p shutdown   现在你的mysql数据库系统已经安全运行了,现在剩下的工作就是配置php了。php是使用一个叫php.ini的文本文件配置的。如果你是在windows下安装php的,你应该已经拷贝了php.ini到你的windows目录。如果你是使用上面的说明在linux安装php的,你应该已经拷贝了php.ini到php安装目录下(/usr/local/php)。   用你熟悉的文本编辑器打开php.ini 并大致浏览一下。绝大多数的设置已经被很好地说明,而且绝大多数的默认设置也可以适应你的要求。只要检查并确认你的配置与下面匹配: magic_quotes_gpc = ondoc_root = extension_dir =   如果你运行的是php 4.0,你还需要检查下面这一行: register_globals = on   如果你是在windows下运行php 3.0,去除开头的“;”来取消下面这一行的注释(4.0不需要): extension=php_mysql.dll   保存php.ini的变动,然后重启你的web服务器。在linux下,如果你是以超级用户登录的,你可以重启apache: /etc/rc.d/init.d/httpd restart 现在万事俱备!现在唯一剩下的就是测试并确认是不是一切ok了(参看你的第一个php脚本)。 如果你的web主机提供php和mysql   如果为你提供web空间的主机已经为你安装并设置了mysql和php,你只希望学会如何使用它们,你需要做的事实在不多。现在你应该和你的主机提供商取得联系,以获取如何访问这些服务的信息。   特别重要的,你需要获得为你设置的访问mysql服务的用户名和口令。他们可能已经为你设置了一个空数据库(这会防止你和同一mysql服务器上的其他用户在数据库上发生混乱),你这时还需要知道这个数据库的名字。   有两个方法访问mysql服务。第一种方法是使用telnet登入主机并使用安装mysql客户端程序(mysql、mysqladmin、mysqldump等)来直接实现和mysql服务实现互动。第二种方法是在你自己的计算机上安装那些客户端程序并连接上mysql服务器。你的web主机可能会支持其中的一种或两种方法,所以你得先问清楚。   如果他们支持通过telnet登入进行你的工作,你还需要一个通过telnet登入的用户名和口令(这个用户名和口令可能和你访问mysql服务的不一样)。你得把这两个设置信息都问清楚。   如果他们支持远程访问mysql服务,你需要下载一个程序去连接并实现与服务器的互动。这个教程会假设你已经从http://www.mysql.com/下载了一套mysql客户端程序。这个软件包既可以在window下运行,也可以在unix下运行,而且是免费的。包含在软件包中的安装说明非常简单。如果你更喜欢一些图形化界面的,你可以下载类似mysqlwinadmin for windows(也可以从http://www.mysql.com/获得)。我推荐你首先学会使用基本的客户端程序,尽管,在这些程序中使用的命令会与在php脚本中访问mysql数据库的脚本很相像。 你的第一个php脚本   为你讲了那么多安装的事,却还一直没有让你尝试php驱动的web页面的滋味,对我来说实在是不公平的

http://www.bkjia.com/phpjc/532242.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/532242.htmltecharticle将这个脚本添加到启动事务中是个比较复杂的任务。如果你使用的不是redhat linux而且你没有把握做这件事,你最好请教一下了解的人。在…

Posted in 未分类