用PHP和MySQL构建一个数据库驱动的网站(二)
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页面的滋味,对我来说实在是不公平的,所以在这里为你安排了一道开胃的小菜。
打开你所熟悉的文本或HTML编辑器并建立一个叫today.php的新文件。在文件中输入下面的内容:
Today's Date (according to this Web server) is
将它保存下来并按通常你放置HTML文件的那样将其放置在你的Web站点上,现在你再通过你的浏览器看看这一页。
很棒,不是吗?如果你通过你的浏览器显示源文件,你所看到将是规范的HTML文件。在发送到你的浏览器之前,PHP代码(上面的程序中所有在之间的代码)都已经被Web服务器解释并转换成通常的文本。PHP(以及其他服务器端的脚本语言)的一个优点就是网站浏览者不会知道脚本语言自身。
不要太多地在意我在这个程序中使用的代码。不久你就会对它很熟悉了。
结语
现在所有工作都如期做完了,你应该已经在你的Web服务器上安装好MySQL和PHP了。如果这个小例子不能正常工作(例如,它显示了未加处理的PHP源代码),那肯定是安装中出了什么问题。
在下一章内,我们会学习关系型数据库的基本知识,并开始使用MySQL来工作。如果你之前没有接触过数据库,我肯定你会大开眼界!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Salah satu perubahan utama yang diperkenalkan dalam MySQL 8.4 (keluaran LTS terkini pada 2024) ialah pemalam "Kata Laluan Asli MySQL" tidak lagi didayakan secara lalai. Selanjutnya, MySQL 9.0 mengalih keluar pemalam ini sepenuhnya. Perubahan ini mempengaruhi PHP dan apl lain

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

Tutorial ini menunjukkan cara memproses dokumen XML dengan cekap menggunakan PHP. XML (bahasa markup extensible) adalah bahasa markup berasaskan teks yang serba boleh yang direka untuk pembacaan manusia dan parsing mesin. Ia biasanya digunakan untuk penyimpanan data

Rentetan adalah urutan aksara, termasuk huruf, nombor, dan simbol. Tutorial ini akan mempelajari cara mengira bilangan vokal dalam rentetan yang diberikan dalam PHP menggunakan kaedah yang berbeza. Vokal dalam bahasa Inggeris adalah a, e, i, o, u, dan mereka boleh menjadi huruf besar atau huruf kecil. Apa itu vokal? Vokal adalah watak abjad yang mewakili sebutan tertentu. Terdapat lima vokal dalam bahasa Inggeris, termasuk huruf besar dan huruf kecil: a, e, i, o, u Contoh 1 Input: String = "TutorialSpoint" Output: 6 menjelaskan Vokal dalam rentetan "TutorialSpoint" adalah u, o, i, a, o, i. Terdapat 6 yuan sebanyak 6

CMS bermaksud Sistem Pengurusan Kandungan. Ia adalah aplikasi perisian atau platform yang membolehkan pengguna mencipta, mengurus dan mengubah suai kandungan digital tanpa memerlukan pengetahuan teknikal lanjutan. CMS membolehkan pengguna membuat dan menyusun kandungan seperti teks, imej, video dan dokumen dengan mudah serta menerbitkannya di tapak web atau platform digital lain.

Jika anda seorang pembangun PHP yang berpengalaman, anda mungkin merasakan bahawa anda telah berada di sana dan telah melakukannya. Anda telah membangunkan sejumlah besar aplikasi, menyahpenyahpepijat berjuta-juta baris kod dan mengubah suai sekumpulan skrip untuk mencapai op

Array adalah struktur data linear yang digunakan untuk memproses data dalam pengaturcaraan. Kadang -kadang apabila kita sedang memproses tatasusunan kita perlu menambah unsur -unsur baru ke array yang sedia ada. Dalam artikel ini, kami akan membincangkan beberapa cara untuk menambah unsur -unsur ke akhir array dalam PHP, dengan contoh kod, output, dan analisis kerumitan masa dan ruang untuk setiap kaedah. Berikut adalah cara yang berbeza untuk menambah elemen ke array: Gunakan kurungan persegi [] Dalam PHP, cara untuk menambah unsur -unsur ke akhir array adalah menggunakan kurungan persegi []. Sintaks ini hanya berfungsi dalam kes -kes di mana kita mahu menambah hanya satu elemen. Berikut adalah sintaks: $ array [] = nilai; Contoh
