YOU ARE DOWNLOADING DOCUMENT

Please tick the box to continue:

Transcript
Page 1: Apache PHP MySQL

ApachePHPMySQL

介紹與安裝設定NIT101115 戴琬諭NIT101112 林佳保

Page 2: Apache PHP MySQL

Apache介紹與安裝

Page 3: Apache PHP MySQL

蝦密洗 Apache

Apache 是開放原始碼的伺服器應用軟體,也廣受歡迎與流行,因此 有很多第三方整理的整合安裝套件,例如 AppServ 可以在

Windows 安裝 Apache 、 PHP 、 MySQL 與phpMyAdmin ,大部分 UNIX-Like 作業系統包括 Mac 都有預設

安裝 Apache 。

Page 4: Apache PHP MySQL

Apache怎麼來的• Apache軟體基金會正式建立於 1999年,它的建立者是一個自稱為「 Apache組織」的群體。

• 組織的開發愛好者們聚集在一起,在美國伊利諾斯大學超級電腦應用程式國家中心( NCSA)開發的 NCSA HTTP伺服器的基礎上開發與維護了一個叫 Apache的 HTTP伺服器。

• 這個命名是根據北美當地的一支印第安部落而來。 LOGO就以

彩色的羽毛來做其標誌。

• 透過眾人努力,不斷地修正、打修補程式( Patchy)的產物,被戲稱為「 A Patchy Server」(一個修補程式伺服器)。

Page 5: Apache PHP MySQL

為什麼要用 Apache

• A patchy server

• 網頁伺服器• 免費 .支援多種平台

• 硬體要求低• 主要發跡於 linux 系統

• Linux之 Apache V.S. Windows之iis、 pws

Page 6: Apache PHP MySQL

Windows 伺服器的選擇IIS

• WIn NT/2000/2003/XP/7,且 XP家用版無法安裝。

• 優點是可以同時提供 ASP動態網頁的執行環境,但有安全性問題。

Apache

• 免費且多平台版本。• 穩定且效能佳,目前市占率最高的伺服器。

Page 7: Apache PHP MySQL

PHP介紹與安裝

Page 8: Apache PHP MySQL

PHP洗蝦毀PHP(全稱: PHP: Hypertext Preprocessor,及「 PHP:超文字預處理器」)是一種開源的通用電腦指令碼語言,適用於網頁程式的開發及能夠嵌入 HTML文件之中,它的語法和C、 Java及 Perl等語法相似,且學習起來更容易上手。 PHP

的目地是為了能使網站開發者可以快速地撰寫動態網頁。

事實上, PHP就是一堆程式碼,當使用者連接到這個程式碼檔案 後,這個程式就開始在主機端執行,最後會產生一些 HTML 的

內容資訊到使用者端的瀏覽器上。因此,使用者只會看到最終的 輸出結果。其執行效能高,而且相對 CGI 較安全。

Page 9: Apache PHP MySQL

CGI(補充 )

CGI 是 Common Gateway Interface 的縮寫,它可以連結網路主機端與瀏覽器端,使其能夠作檔案存取等動作的一種介面, CGI 程式就是可達成前述動作的程式,這是一種通稱而不是指某種特定的程式, CGI 程式可以使用多種電腦語言來撰寫,依據作業平台的不同最常

見的有 C、 C++、 Perl、 PHP、 TCL、 JAVA、 VB....等。

而大家在不同網頁上所見到的留言板、討論區、計數器、票選、寄賀卡、線上人數 .... 等,都是屬於 CGI 程式的一種。

Page 10: Apache PHP MySQL

PHP哪來的PHP原本的簡稱為 Personal Home Page,是 Rasmus Lerdorf 為了要維護個人網頁,而用 C語言開發的一些 CGI工具程式集,來取代原先使用的 Perl程式。 (1995)

PHP2 Rasmus Lerdorf 於 1995年 6月 8日將 PHP/FI公開釋出

PHP3 兩個以色列程式設計師, 1998年 6月正式釋出 PHP3

PHP4 在 2000年 5月 22日, PHP4正式釋出

PHP5 2008年 PHP5成為唯一維護中的穩定版本。 (5.5)

PHP6 開發進行中

Page 11: Apache PHP MySQL

Why PHP?

• 最大的優勢 : Free! 免錢 !

• 跨平台,硬體需求不高。

• 資料庫若不使用MySQL,也可跟其他資料庫(例如

Access、Microsoft SQL Server)緊密結合。

• 學習容易,架設簡單

• 網路資料豐富,眾多免費的套件可以使用,可以快速架設討論區、網站或購物車

Page 12: Apache PHP MySQL

PHP的角色扮演

MySQL

Page 13: Apache PHP MySQL

PHP vs ASP vs JSP

ASP

• 適用微軟平台• 效能差 ( 效能輸給 php)

• 環境架設困難 debug

Jsp

• 要有 JAVA 基礎• 環境架設困難 (Path 路徑 )

Page 14: Apache PHP MySQL

JAVA(補充 )

JAVA是個跨平台的物件導向程式語言,由昇陽 (SUN)公司推出,現在已經併入 ORACLE,目前還是屬於免費的程式語言。日常生活中常看到 JAVA應用在手機、 PDA ……、電腦軟體、網頁 等等。

JAVA分為開發 JAVA的編譯器和執行 JAVA的解碼器。想要開啟JAVA程式,你必須先有 JAVA!

JAVA分為三個版本:

• JAVA SE: JAVA標準版,指一般我們常用的 JAVA軟體。

• JAVA EE: JAVA企業版。

• JAVA ME: JAVA微型版,應用在手機、 PDA等微小產品內。

Page 15: Apache PHP MySQL

靜態網頁

Page 16: Apache PHP MySQL

動態網頁

Page 17: Apache PHP MySQL

PHP網頁讀取流程

Page 18: Apache PHP MySQL

MySQL介紹與安裝

Page 19: Apache PHP MySQL

MySQL怎麼念官方 my ess cue el

民間 my sequel

Page 20: Apache PHP MySQL

MySQL歷史1998年 1月,瑞典 TcX公司發行第一個版本。2008年 1月 16日, Sun(昇陽電腦)正式收購MySQL。2009年 4月 20日,甲骨文公司宣布以每股 9.50美元, 74

億美元的總額收購 Sun電腦公司。2013年 6月 18日,甲骨文公司修改MySQL授權協定,移除了 GPL許可證。但隨後有訊息稱這是一個 bug。

Page 21: Apache PHP MySQL

MySQL定義 MySQL是一個開放原始碼的關聯式資料庫管理系統,原開發者為瑞典的 TcX公司,後更名MySQL AB公司,該公司於 2008年被昇陽微系統( Sun

Microsystems)收購。 2009被甲骨文公司收購。 使用MySQL的公司 :Google,Facebook,Yahoo!

Finance, MP3.com, Motorola, NASA, and .......等等。

Page 22: Apache PHP MySQL

MySQL運作平台 MySQL是一個快速且穩定的開放原始碼資料庫,使用人數眾多,由MySQL AB公司所開發,可以連結 C、C++、 Java、 Perl、 PHP語言,而且可在許多平台上運作,如: Linux、Windows、 Sun Solaris ... 等(即正真的跨平台),且支援微軟的 ODBC規格的資料庫整合。

Page 23: Apache PHP MySQL

MySQL版本 MySQL共有三個版本:基本安裝、完整安裝或手動

安裝版本,可依需要自行選擇。

基本安裝:旨在滿足多數用戶需求的MSI 安裝套件。

完整安裝 :比基本版包含更多組件,包括一套評測工具。

手動安裝:此版本與完整版一樣,但不包含配置嚮導或安 裝器,必須手動進行安裝。

Page 24: Apache PHP MySQL

MySQL特性 (1)

1. 1使用 C和 C++編寫,並使用了多種編譯器進行測試,保證源代碼的可移植性。

2. 支援多種系統。3. 為多種編程語言提供了 API。這些編程語言包括 C、 C+

+、 C#、 VB.NET、 Delphi、 Eiffel、 Java、 Perl

、 PHP、 Python、 Ruby和 Tcl等。4. 支援多線程,充分利用 CPU資源,支援多用戶。5. 優化的 SQL查詢演算法,有效地提高查詢速度。

Page 25: Apache PHP MySQL

1. 既能夠作為一個單獨的應用程式應用在客戶端服務器網路環境中,也能夠作為一個庫而嵌入到其他的軟體中。

2. 提供多語言支援,常見的編碼如中文的 GB

2312、 BIG5,日文的 Shift JIS等都可以用作資料表名和資料列名。

3. 提供 TCP/IP、 ODBC和 JDBC等多種資料庫連接途徑。

4. 提供用於管理、檢查、優化資料庫操作的管理工具。5. 可以處理擁有上千萬條記錄的大型資料庫。

MySQL特性 (2)

Page 26: Apache PHP MySQL

MySQL優點就是「快」

• 比Microsoft快 50%。

• 比 Informix快 5倍。

• 平均領先其它資料庫達 40%。

成本低

可靠性佳

Page 27: Apache PHP MySQL

MySQL版權

某些特定情況下使用 MySQL 是要授權費的,例如將MySQL 跟自己公司產品包裝一起售出或經由安裝維護一個MySQL 軟體而收費,這樣是要付授權費的。但是如果 Web

站台利用它來管理儲存資料,這部分則是受到 GPL ( GNU

Public License) 的保護。在微軟平台上,你必須在 30 天的 試用期後,獲得一個 MySQL 的授權,除了教育用途及大學或

政府資助的研究單位,可以免費申請獲得使用授權。

Page 28: Apache PHP MySQL

GPL(補充 )

GPL 是基於 GNU 的架構。簡單的說, GNU 就是『自由 軟體』的意思,『自由軟體』是放置於網路上供人自由下載使

用的軟體,基本上他會提供原始程式碼與編譯完成的執行檔,並鼓勵使用者修改程式使符合使用者本身的服務需求。

如果您開發了新程式,希望施以 GNU GPL條款使得每個人來修改和重新發佈你寫的軟體。最安全的方式是將沒有擔保的信息放在每個原始碼檔案的開頭以聲明。每個文件至少應有 "版權所有 " 行以及在什麼地方能看到聲明全文的說明。

Page 29: Apache PHP MySQL

安裝WAMP系統Windows + Apache + Mysql+ PHP

Page 30: Apache PHP MySQL

LAMP

目前 Internet上流行的網站構架方式是LAMP( Linux+Apache+MySQL+PHP),即使用 Linux作為作業系統, Apache作為Web伺服器,MySQL作為資料庫, PHP(部分網站也使用 Perl或 Python)作為伺服器端指令碼直譯器。

Michael Kunze(1998) 在一篇為德國電腦雜誌《 c't》文章中使用了縮略語「 LAMP」。這篇文章意在展示一系列的自由軟體成為了商業包的替換物。由於 IT世界眾所周知的對縮寫的愛好, Kunze提出「 LAMP」這術語來普及自由軟體的使用。

Page 31: Apache PHP MySQL

WAMP

WAMP 意即(以Microsoft Windows替代Linux)Windows+Apache+MySQL+PHP

AppServ是一個在Windows平台運行的WAMP開源工具,起源於泰國。這個開源工具包含了 Apache、MySQL和 PHP的安裝及自動配置,並透過 phpMyAdmin來管理MySQL。

由於 AppServ 的簡捷配置,香港早期的教育軟體平台都是基於AppServ,以方便對伺服器知識未必足夠的教師可以自行在學校安裝。

Page 32: Apache PHP MySQL

為什麼要用自己的主機架站 如果一個公司需要一個存放公司機密資料的網站,外面的主機不但不安全,而且又不好管理,這時候用自己的主機架網站是一個很好的選擇。

缺點:

硬體設備的等級要比一般高。同一時間內,連線數愈多, CPU的工作效率便會下降,每個人分到的頻寬也會減少,造成連線 LAG。如果你是用你自己平常在用的電腦架站,那當有訪客進入你的網站時,你便會 LAG。

Page 33: Apache PHP MySQL

第一次架站就上手WAMP 環境架設

Page 34: Apache PHP MySQL

1.到Wampserver官網下載 http://www.wampserver.com2.執行安裝檔

Page 35: Apache PHP MySQL

安裝路徑 c:\wamp 建議預設就好點選 Next 下一步

Page 36: Apache PHP MySQL

勾選是否建立快捷鍵和桌面圖示Next 下一步

Page 37: Apache PHP MySQL

確定設定值 , 確定後Next 下一步就開始安裝

Page 38: Apache PHP MySQL

安裝進行中

Page 39: Apache PHP MySQL

選擇預設開啟網頁瀏覽器預設值為 IE ,點選開啟

Page 40: Apache PHP MySQL

設定 PHP SMTP 伺服器填入你的SMTP 伺服器 , 沒有就預設值 Next 下一步

Page 41: Apache PHP MySQL

安裝完成點選 Finish

Page 42: Apache PHP MySQL

設定預設語系

設定預設語系 右下工作列 W

點選滑鼠右鍵 選擇 Language >

chinese_trad 就可以切換為正體中文版

Page 43: Apache PHP MySQL

點選右下角工作列 W > Localhost 出現以下畫面就表示安裝成功

Page 44: Apache PHP MySQL

Q1: 請問如何在自己的電腦 Apache server內,設定 輸出 port:8088。

以及如何建立一個網站虛擬目錄稱為 test2013 , 然後放入 index.htm

Page 45: Apache PHP MySQL

埠口 (port)

Server/Client 之間的資料傳送其實是 port 與 port 之間的遞送, 一部主機的 port 可分為『監聽 , LISTEN』與『 隨機取用的 high

port』

• 所謂的 LISTEN 就是您的主機有啟動某些服務啟用一個 port 以監聽來自 Internet 的要求!

• 主機是要對外主動的連線需要啟用一個 port 來對外連線傳遞資料封包,那麼主機會『隨機』取用一個沒有被使用的 大於1024 以上 的 port 來進行這次的連線行為。

例: http://www.google.com.tw:80 ,這個「 :80 」的 80 就是port ,但通常網址不會顯示 :80 ,但如果「 : 」後面不是 80,

這時「 : 」後的數字就要打出來,才能使用服務。

Page 46: Apache PHP MySQL

點選右下角工作列W -> Apache -> httpd.conf -> 找到 Listen 80

改為 Listen 8088

httpd.conf

Page 47: Apache PHP MySQL

電腦 Apache server內, 設定輸出 port:8088

Page 48: Apache PHP MySQL

httpd.conf

建立一個網站虛擬目

錄稱為test2013

Page 49: Apache PHP MySQL
Page 50: Apache PHP MySQL

測試成功 !!

Page 51: Apache PHP MySQL

Q2: 請問 Apache server原來檔案上傳限制為多少 ? 如何增加 Apache server上

傳檔案限制,提升到 200M?

Page 52: Apache PHP MySQL

php.ini記事本

Page 53: Apache PHP MySQL

Apache server原來檔案上傳限制為多少 ? 2MB更改為 200MB php.ini記事本 -> upload_max_filesize

最大上傳文件大小

Page 54: Apache PHP MySQL

php.ini記事本 ->max_execution_time改成 300秒

最長執行時間 ...秒

Page 55: Apache PHP MySQL

php.ini記事本 ->memory_limit改成 256M

是設置 PHP使用內存時空間

Page 56: Apache PHP MySQL

php.ini記事本 ->post_max_size改成 200M

通过 POST提交數据的最大值

Page 57: Apache PHP MySQL

Q3: 請問如何備份及還原mysql的資料庫 ?

Page 58: Apache PHP MySQL

方法說明

1. 請先登入 phpMyAdmin。

2. 選擇你的你想備份的資料庫名稱

3. 在左邊框選擇【匯出】

4. 在頁面底部選擇【下載儲存】 (*.sql) 執行

5. 開始下載,直到下載完成 備份完成

<注意事項 >

phpMyAdmin的還原資料庫的上傳限制是 8MB,所以如果你

的備份大於 8MB,則只能使用 phpMyAdmin來備份,但還原

就需自行編寫相關還原代碼來執行。

Page 59: Apache PHP MySQL

登入 phpMyAdmin

登入帳號 :root登入密碼 :(不用打 )

Page 60: Apache PHP MySQL

如何修改密碼 ?

1 修改密碼

Page 61: Apache PHP MySQL

密碼修改

Page 62: Apache PHP MySQL

密碼修改成功 !!

Page 63: Apache PHP MySQL

匯出資料庫

1 匯出2 資料

Page 64: Apache PHP MySQL

匯出資料庫

1 匯出2 資料

3 下載

選擇匯出類型為 SQL

Page 65: Apache PHP MySQL

備份mysql 的資料庫的另一條路 .....找到 bin

Page 66: Apache PHP MySQL

還原mysql的資料庫

1 輸入

Page 67: Apache PHP MySQL

還原mysql的資料庫

1 輸入

2 選擇存放位置

Page 68: Apache PHP MySQL

這是美好的一天,謝謝聆聽 !!

NIT101112_ 林佳保 NIT101115_戴琬諭


Related Documents