用PHP和MySQL構建一個資料庫驅動的網站二_PHP教程

來源:互聯網
上載者:User
將這個指令碼添加到啟動事務中是個比較複雜的任務。如果你使用的不是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而且你沒有把握做這件事,你最好請教一下瞭解的人。在...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.