欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

建立Apache+PHP+MySQL數(shù)據(jù)庫(kù)驅(qū)動(dòng)的動(dòng)態(tài)網(wǎng)站

 更新時(shí)間:2008年03月15日 18:44:04   作者:  
  Apache是目前應(yīng)用最廣的Web服務(wù)器,PHP3是一種類(lèi)似ASP的腳本語(yǔ)言,目前的發(fā)展趨勢(shì)大有超過(guò)Perl之勢(shì),而MySQL是一個(gè)輕量級(jí)的數(shù)據(jù)庫(kù)系統(tǒng),特別是用于網(wǎng)站建設(shè),這3個(gè)軟件均是自由軟件,是架設(shè)數(shù)據(jù)庫(kù)驅(qū)動(dòng)的動(dòng)態(tài)網(wǎng)站的最佳排檔。
 
  本文只介紹這3個(gè)軟件的安裝,有關(guān)PHP和MySQL的編程和使用請(qǐng)見(jiàn)其他資料。 

一、如何獲得軟件? 
  獲得這3個(gè)軟件包的方法很多,目前大多數(shù)Linux分發(fā)都捆綁了這3個(gè)軟件包,如RedHat。本文介紹的安裝方法是基于從這些軟件的官方站點(diǎn)上下載獲得的軟件包進(jìn)行的,針對(duì)RedHat Linux 6.1,也介紹它們的安裝和配置。 
  這3個(gè)軟件的官方站點(diǎn)是: 
軟件 官方網(wǎng)站 當(dāng)前版本 下載 
Apache 1.3.9 這里 
PHP 3.0.13 這里 
MySQL 3.22.29 這里 
  從上述網(wǎng)站上,你應(yīng)該下在以下軟件包: 
軟件 文件名 
Apache apache_1.3.9.tar.tgz (apache源代碼包) 
PHP php-3.0.13.tar.gz (PHP3源代碼包) 
MySQL MySQL-3.22.29-1.i386.rpm (MySQL服務(wù)器) 
MySQL-client-3.22.29-1.i386.rpm (MySQL客戶(hù)實(shí)用程序) 
MySQL-devel-3.22.29-1.i386.rpm (MySQL包含文件和庫(kù)) 
MySQL-shared-3.22.29-1.i386.rpm (客戶(hù)程序共享庫(kù)) 
二、安裝MySQL 
  首先檢查你的系統(tǒng)是否已經(jīng)安裝了MySQL: 
    rpm -q MySQL 
    rpm -q MySQL-client 
    rpm -q MySQL-devel 
    rpm -q MySQL-shared 
  如果你的版本比3.22.29舊,而且你想升級(jí)MySQL到3.22.29版本,先用rpm -e刪除所有的MySQL包,并: 
    rpm -i MySQL-3.22.29-1.i386.rpm 
    rpm -i MySQL-client-3.22.29-1.i386.rpm 
    rpm -i MySQL-devel-3.22.29-1.i386.rpm 
    rpm -i MySQL-shared-3.22.29-1.i386.rpm  
  或者直接升級(jí)到3.22.29版: 
    rpm -Uvh MySQL-3.22.29-1.i386.rpm 
    rpm -Uvh MySQL-client-3.22.29-1.i386.rpm 
    rpm -Uvh MySQL-devel-3.22.29-1.i386.rpm 
    rpm -Uvh MySQL-shared-3.22.29-1.i386.rpm  
  安裝MySQL服務(wù)器時(shí),安裝程序會(huì)提示你設(shè)置root口令,有關(guān)MySQL的安裝后期設(shè)置,請(qǐng)參閱。 
  上述安裝將MySQL執(zhí)行文件放在"/usr/bin"目錄下,包含文件放在"/usr/include/mysql"目錄下,庫(kù)文件放在"/usr/lib/mysql"目錄下。 
三、解壓縮apache和php并編譯和安裝 
  如上所述下載apache和php源代碼軟件包,加入下載的文件放在目錄"/apps"下,進(jìn)入"/apps"目錄,用ls檢查你有這兩個(gè)文件: 
    apache_1.3.9.tar.gz 
    php-3.0.13.tar.gz 
1、解壓縮apache并配置 
  用下列命令解壓縮apache_1.3.9.tar.gz 
    tar zxvf apache_1.3.9.tar.gz 
它講解壓縮的文件放在apache_1.3.9目錄下。然后配置apache: 
    cd apache_1.3.9 ( 進(jìn)入apache源代碼樹(shù)的目錄) 
    ./configure --prefix=/www (假如你想安裝apache最終安裝在目錄"/www"下) 
2、解壓縮php3并配置和編譯 
    cd .. (回到上級(jí)目錄) 
    tar zxvf php-3.0.13.tar.gz?。ń鈮嚎s到目錄"php-3.0.13") 
    cd php-3.0.13  (進(jìn)入php3的源代碼目錄) 
    ./configure --with-mysql --with-apache=../apache_1.3.9 
    make 
    make install 
3、編譯和安裝apache 
    cd .. 
    ./configure --prefix=/www --activate-module=src/module/php3/libphp3.a 
    make 
    make install (將apache安裝到"/www"目錄下) 
  上述這種方法是將php編譯進(jìn)了apache目標(biāo)代碼,所以其效率和性能上要比DSO方式略好。將php作為apache的一個(gè)模塊的方法,見(jiàn)后面的介紹。 
4、配置apache 
    cd /www?。ǖ絘pache主目錄) 
    cd conf  (進(jìn)入配置文件目錄) 
    編輯"httpf.conf"文件,將"AddType application/x-httpd-php3 .php3"一行的注釋去掉,這樣對(duì)于以".php3"為后最后綴的文件將作為php腳本文件處理。 
5、啟動(dòng)apache 
  關(guān)掉正在運(yùn)行的httpd(有時(shí)在系統(tǒng)啟動(dòng)時(shí)啟動(dòng)的),重新啟動(dòng)新的httpd: 
    cd /www/bin 
    ./apachectl start 
用ps aux命令檢查httpd已經(jīng)正確啟動(dòng)。 
6、測(cè)試 
    lynx localhost 
  如果你能看到頁(yè)面顯示,說(shuō)明你已正確設(shè)置和啟動(dòng)了httpd。 
7、測(cè)試php 
    cd /www/htdocs (進(jìn)入默認(rèn)網(wǎng)頁(yè)存放目錄) 
  創(chuàng)建一個(gè)ex.php3文件,內(nèi)容如下: 

$myvar="Hello,World!"; 
echo $myvar; 
phpinfo(); 
?> 

  運(yùn)行些列命令,檢查輸出是否是"Hello,World"和當(dāng)前php的設(shè)置: 
    lynx localhost/ex.php3  
如果是,說(shuō)明你的apache已經(jīng)可以處理php腳本文件了。恭喜你! 
8、測(cè)試MySQL數(shù)據(jù)庫(kù) 
  按照上面的方法安裝MySQL后,建立一個(gè)mydb.dump文件,包含入下內(nèi)容: 
CREATE TABLE employees ( id tinyint(4) DEFAULT @#0@# NOT NULL 
AUTO_INCREMENT, first varchar(20), last varchar(20), 
address varchar(255), position varchar(50), PRIMARY KEY (id), 
UNIQUE id (id)); 
INSERT INTO employees VALUES (1,@#Bob@#,@#Smith@#, 
@#128 Here St, Cityname@#,@#Marketing Manager@#); 
INSERT INTO employees VALUES (2,@#John@#,@#Roberts@#,@#45 There St , 
Townville@#,@#Telephonist@#); 
INSERT INTO employees VALUES (3,@#Brad@#,@#Johnson@#,@#1/34 Nowhere Blvd, 
Snowston@#,@#Doorman@#); 

  然后用這個(gè)SQL腳本在MySQL中創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)mydb,在shell下打入下列命令: 
    mysql -u root -pyourpasswd mydb 
這里,如果你在案裝MySQL后設(shè)置了root用戶(hù)的口令,yourpasswd換成你的口令,如果沒(méi)有為root設(shè)置口令,則去掉-p選項(xiàng)。 
  創(chuàng)建后上述數(shù)據(jù)庫(kù)后,創(chuàng)建一個(gè)php3腳本文件,如test.php3,其內(nèi)容如下: 



$db = mysql_connect("localhost", "root"); 
mysql_select_db("mydb",$db); 
$result = mysql_query("SELECT * FROM employees",$db); 
printf("First Name: %s 
\n", mysql_result($result,0,"first")); 
printf("Last Name: %s 
\n", mysql_result($result,0,"last")); 
printf("Address: %s 
\n", mysql_result($result,0,"address")); 
printf("Position: %s 
\n", mysql_result($result,0,"position")); 
?> 



如果root設(shè)置了口令,則在上面的$db = mysql_connect("localhost", "root");中加入口令: 
    $db = mysql_connect("localhost", "root","yourpasswd"); 
然后測(cè)試test.php3: 
    lynx localhost/test.php3 
其顯示的結(jié)果應(yīng)該是: 
First Name: Bob 
Last Name: Smith 
Address: 128 Here St, Cityname 
Position: Marketing Manager 
如果是,說(shuō)明你的php3已經(jīng)能夠處理MySQL數(shù)據(jù)庫(kù)了,再次恭喜你?。?nbsp;

-------------------------------------------------------------------------------- 
三、將php3編譯成apache的一個(gè)模塊 
  上面的方法是將php3編譯進(jìn)了apache的二進(jìn)制代碼中,其優(yōu)點(diǎn)是配置簡(jiǎn)單,效率高,但一個(gè)更靈活的方法是將php3作為apache的一個(gè)DSO(Dynamic Shared Object)模塊,詳見(jiàn)apache文檔。下面就介紹如何將php3編譯為apache的一個(gè)模塊。 
1、配置apache 
  進(jìn)入apache源代碼目錄,運(yùn)行下列命令,(假定將httpd安裝在"/web"目錄下) 
    cd apache_1.3.9 
    ./comfigure --prefix=/www --enable-shared=max 
    make (編譯apache) 
    make install (將apache安裝在/web目錄下) 
2、配置php3并編譯和安裝 
   假定你已將apache目錄下(請(qǐng)記住該目錄),進(jìn)入php3的源代碼目錄進(jìn)行配置和編譯: 
    cd php-3.0.13 
    ./configure --with-apxs=/web/bin/apxs --with-config-file-path=/web --with-mysql 
    make (編譯) 
    make install (安裝libphp3.so) 
  上述配置是將php3的配置文件"php3.ini"放在/web目錄下,你必須手工將php3源代碼目錄下的"php3.ini-dist"拷貝到/web目錄下,重新修改/web/conf目錄下的httpd.conf文件,加入下列文字以便讓apache支持php3腳本文件,它由上述的make install自動(dòng)修改: 
    AddModule mod_php3.c 
    LoadModule php3_module libexec/libphp3.so 
和 
    AddType application/x-httpd-php3 .php3 
  重新啟動(dòng)httpd: 
    /web/bin/apachectl stop (停止) 
    /web/bin/apachectl start (啟動(dòng)) 
3、測(cè)試 
  你仍然可以用上述的php3腳本的例子進(jìn)行測(cè)試,如果正確,你已經(jīng)正確地安裝了! 

-------------------------------------------------------------------------------- 
四、如何從RPM包進(jìn)行安裝和配置 
  在很多Linux的發(fā)行版本中都捆綁了apache、php3和MySQL,由于MySQL本身是以RPM格式分發(fā)的,因此其安裝上面已經(jīng)介紹,下面僅介紹apache和php的安裝和配置。本文基于RedHat Linux 6.1。PHP的設(shè)計(jì)者不建議從RPM配置php3,但它將在php4中解決這個(gè)問(wèn)題。由于從RPM重新配置和安裝php比較麻煩,所以以下方法僅供參考。 
1、你需要的rpm文件 
  為了重新配置和編譯php,你應(yīng)該下載php3的源代碼rpm:php-3.0.12.6.src.rpm。該軟件包可生成下列rpm: 
    php-3.0.12-6.i386.rpm    php-manual-3.0.12-6.i386.rpm 
    php-imap-3.0.12-6.i386.rpm  php-ldap-3.0.12-6.i386.rpm 
    php-pgsql-3.0.12-6.i386.rpm 
在安裝新的rpm之前,你應(yīng)該首先刪除已經(jīng)的php軟件包: 
    rpm -e php-imap php-ldap php-pgsql php php-manual 
  重新編譯php需要以下軟件包: 
    apache  apache-devel 
    postgresql  postgresql-devel 
    MySQL-devel 
2、重新配置、編譯和安裝php3 
   安裝php3源代碼包: 
    rpm -i php-3.0.12-6.src.rpm 
它將php源代碼安裝在/usr/src/redhat目錄下,進(jìn)入該目錄,按下面的命令進(jìn)行配置和編譯: 
    cd /usr/src/redhat/SPECS 
    vi php.spec 
編輯php.spec文件,找到%build小節(jié),在關(guān)于./configure的選項(xiàng)部分加入: 
    --with-mysql=/usr \ 
選項(xiàng),它指出php支持MySQL數(shù)據(jù)庫(kù)。 
%build 
cd imap-4.5 
make RPM_OPT_FLAGS="$RPM_OPT_FLAGS" lnp 
cd .. 
autoconf 
CFLAGS="-fPIC" ./configure --prefix=/usr \ 
--with-apxs=/usr/sbin/apxs \ 
--with-config-file-path=/etc/httpd \ 
--enable-safe-mode \ 
--with-exec-dir=/usr/bin \ 
--with-system-regex \ 
--disable-debug \ 
--with-zlib \ 
--enable-debugger \ 
--enable-magic-quotes \ 
--with-mysql=/usr \ 
--enable-track-vars 

保存修改,重建rpm包: 
    rpm -bb /usr/src/redhat/SPECS/php.spec 
最后,在/usr/src/redhat/RPMS/i386目錄下可以找到相應(yīng)的二進(jìn)制rpm包,重新安裝它們: 
    rpm -i /usr/src/redhat/RPMS/i386/* 
3、配置httpd.conf和srm.conf 
  在安裝好php后,你應(yīng)該配置httpd以便支持php3腳本。首先編輯/etc/httpd/conf/httpd.conf,找出下列兩行,去掉它們前面的注釋符#: 
    AddModule mod_php3.c 
    LoadModule php3_module modules/libphp3.so 
在編譯/etc/httpd/conf/srm.conf,去掉下面一行的注釋符#: 
    AddType application/x-httpd-php3 .php3 
這樣,httpd對(duì)于以.php3結(jié)尾的文件視為php腳本文件。 
4、測(cè)試 
  你可以用上面的兩個(gè)例子做測(cè)試。 
5、總結(jié) 
  RedHat等一些Linux發(fā)行商雖然在它們的分發(fā)中捆綁了上述三個(gè)軟件包,但php的rpm包初始是不支持MySQL數(shù)據(jù)庫(kù)的。另外,原來(lái)的mod_php3或mod_php的使用方式已經(jīng)過(guò)時(shí),而新的格式是libphp3.so,因此在RedHat標(biāo)準(zhǔn)的二進(jìn)制分發(fā)中已經(jīng)不包含mod_php3或mod_php了。 
  如果你想一直使用這三個(gè)軟件的最新版本,前二種方法最適用。 
  上述只是介紹了這三個(gè)軟件的安裝,你必須配置php和MySQL的安全性設(shè)置 

相關(guān)文章

最新評(píng)論