apache部署php原理,apache php教程

本文目錄一覽:

apache伺服器的工作原理是什麼?

Apache是世界使用排名第一的Web伺服器。它可以運行在幾乎所有廣泛使用的計算機平台上。

Apache源於NCSAhttpd伺服器,經過多次修改,成為世界上最流行的Web伺服器軟體之一。Apache取自「a patchy server」的讀音,意思是充滿補丁的伺服器,因為它是自由軟體,所以不斷有人來為它開發新的功能、新的特性、修改原來的缺陷。Apache的特點是簡單、速度快、性能穩定,並可做代理伺服器來使用。

本來它只用於小型或試驗Internet網路,後來逐步擴充到各種Unix系統中,尤其對Linux的支持相當完美。Apache有多種產品,可以支持SSL技術,支持多個虛擬主機。Apache是以進程為基礎的結構,進程要比線程消耗更多的系統開支,不太適合於多處理器環境,因此,在一個Apache Web站點擴容時,通常是增加伺服器或擴充群集節點而不是增加處理器。到目前為止Apache仍然是世界上用的最多的Web伺服器,市場佔有率達60%左右。世界上很多著名的網站如Amazon.com、Yahoo!、W3 Consortium、Financial Times等都是Apache的產物,它的成功之處主要在於它的源代碼開放、有一支開放的開發隊伍、支持跨平台的應用(可以運行在幾乎所有的Unix、Windows、Linux系統平台上)以及它的可移植性等方面。

Apache的誕生極富有戲劇性。當NCSA WWW伺服器項目停頓後,那些使用NCSA WWW伺服器的人們開始交換他們用於該伺服器的補丁程序,他們也很快認識到成立管理這些補丁程序的論壇是必要的。就這樣,誕生了Apache Group,後來這個團體在NCSA的基礎上創建了Apache。

Apache伺服器擁有以下特性:

支持最新的HTTP/1.1通信協議

擁有簡單而強有力的基於文件的配置過程

支持通用網關介面

支持基於IP和基於域名的虛擬主機

支持多種方式的HTTP認證

集成Perl處理模塊

集成代理伺服器模塊

支持實時監視伺服器狀態和定製伺服器日誌

支持伺服器端包含指令(SSI)

支持安全Socket層(SSL)

提供用戶會話過程的跟蹤

支持FastCGI

通過第三方模塊可以支持Java Servlets

如果你準備選擇Web伺服器,毫無疑問Apache是你的最佳選擇

如何使用apache+php+mysql配置php環境

若要讓php支持mysql和gd庫等組件,需對php.ini進行配置

首先將php.ini-development 改為php.ini

php.ini配置:

將 ;extension_dir = “ext” 更改為:extension_dir = “C:\PHP\ext”並將前面的分號去掉,以設置php所支持組件的路徑。

將下了代碼的前面的分號全部刪掉,以設置php所支持的組件。

;extension=php_bz2.dll

;extension=php_curl.dll

;extension=php_gd2.dll

;extension=php_mbstring.dll

;extension=php_mysql.dll

;extension=php_mysqli.dll

;extension=php_pdo_mysql.dll

;extension=php_pdo_odbc.dll

;extension=php_pdo_sqlite.dll

若要讓apache支持php則需要配置conf\httpd.conf,以為apache指定php的路徑。

在httpd.conf中加入下列代碼:

PHPIniDir “C:/PHP/”

LoadModule php5_module “C:/PHP/php5apache2_2.dll”

php下載地址:

什麼是php,什麼是apache,他們怎麼工作

你的理解基本上正確。

APACHE就是一個網路伺服器,這個伺服器偵聽一個TCP埠,一般是80,對埠收到的命令進行解釋,然後提交一些結果。APACHE解釋的最主要的命令就是GET和POST,一般對應客戶端在瀏覽器輸入地址、瀏覽器裡面點擊鏈接和提交一個表單。APACHE對GET和POST命令進行解釋的時候,如果GET和POST的對象是一個HTML、CSS、JS、RAR、TXT等一般文件,就直接把文件的內容發回客戶端;如果對象是一個PHP文件,APACHE就啟用PHP.EXE程序(UNIX上名稱不一樣,而且安裝為模塊的細節又有不同,這裡只是舉例),把文件、調用的參數傳遞給PHP.EXE,然後把PHP.EXE執行的結果反饋給客戶端。

PHP可以調用各種庫執行各類功能,最典型的就是查詢資料庫。PHP.EXE解釋執行PHP文本文件裡面的語句,執行前一般不翻譯,就象批處理一樣。

APACHE可以配置多個類似PHP這樣的過濾器,凡是XXX類的文件,都提交給XXX.EXE執行,把執行完畢的內容發送給瀏覽器,其它文件直接發送。APACHE就這麼簡單的、機械的執行。

怎麼搭建php環境Apache+PHP+mysql

一、Apache安裝

版本解釋:openssl是表示帶有openssl模塊,利用openssl就可以給Apache配置SSL安全鏈接的,也就是使用https://方式進行訪問。

 nossl則表示不帶OpenSSL模塊,無 法用於SSL安全鏈接,在這裡我們下載帶OpenSSL的。

選擇版本:apache_2.2.14-win32-x86-openssl-0.9.8k.msi (此處以32位為例)

下載地址:

首先我們在D盤(盤符根據實際情況自己選擇)新建一個目錄, 並且命名為「WAMP」其意義為「Wdindows Apache Mysql PhpMyAdmin」 之後安裝的一些內容,也都將安裝在該目錄下。

1.安裝說明:

運行apache安裝程序,方法非常簡單,彈安裝界面後一直「next」

接著會出現一個界面,需要填寫3個內容,分別為:Network Domain、Server Name、Administrator』s Email Address 隨便填寫就好,不影響內容。

在下面還有2個選項,默認選擇為80埠,第二個為8080埠,根據個人需求選擇,一般為默認80埠。

我們繼續安裝,選擇Custom(自定義安裝)-「next」

其中有打著紅X的組件,我們單擊這個組件容,選擇「This feature, and all subfeatures, will be installed on local hard drive.」,即「此部分,及下屬子部分內容,全部安裝在本地硬碟上」。-「next」

然後選擇右下角的「change 」改變安裝路徑,安裝到剛才建立的目錄中「D:\WAMP\Apache\」-「next」

安裝完畢後,電腦右下角會多出一個圖標,雙擊打開,選擇start或restart,能正常運行,至此安裝完畢。

2.修改配置:

打開安裝錄下D:\WAMP\Apache\conf\httpd.conf 文件(修改配置文件時,不建議使用記事本,可能會對其造成影響,推薦使用Notepad++或其他編輯軟體打開修改)

打開以後Ctrl+F查找所要修改的內容

在#LoadModule vhost_alias_module modules/mod_vhost_alias.so下添加:

LoadModule php5_module 「D:/WAMP/PHP/php5apache2_2.dll」

PHPIniDir 「D:/WAMP/PHP」

AddType application/x-httpd-php .php

AddType application/x-httpd-php .htm

AddType application/x-httpd-php .html

DocumentRoot 「E:/WAMP/Apache/htdocs」

修改成(這裡的路徑和IIS中wwwroot目錄一樣,用於存放網頁,自定義或不做修改默認):DocumentRoot 「D:/WAMP/www」

修改成(自定義或不做修改默認):

DirectoryIndex index.html

修改成:DirectoryIndex index.php default.php index.html index.htm default.html default.htm

3.測試

在D:/WAMP/www目錄下 建立個index.html頁面

在瀏覽器中輸入

如果能正常顯示,Apache配置完畢,已經正常運行。

二、MySql安裝

版本解釋:The Essentials Package:不包含 embedded server and benchmark suite,有自動安裝程序和配置嚮導,沒有MySQL Documentation。

 The Complete Package:包含 embedded server and benchmark suite,有自動安裝程序和配置嚮導,有MySQL Documentation。

 The Noinstall Archive:包含 embedded server and benchmark suite,沒有自動安裝程序和配置嚮導,有MySQL Documentation。

選擇版本:mysql-essential-5.1.44-win32.msi

下載地址:

1.安裝說明:

打開安裝程序,單擊「next」

選擇custom,組件為默認選擇,我們不做改動-「next」

路徑設置為「D:\WAMP\Mysql」-「next」

安裝好以後點擊「finish」

跟著會出現一個配置嚮導-「next」

選擇「Detailed Configuration(詳細配置)」-「next」

這裡有3個選項:

Developer Machine,將只用盡量少的內存;

Server Machine,將使用中等數量內存;

Dedicated MySQL Server Machine,這台伺服器上面只跑mysql資料庫,將佔用全部的內存。

可以根據自己需求選擇,這裡我們選擇第二種「Server Machine」-「next」

選擇資料庫用途,同樣有3個選項:

Mutltifunctional Database多功能用途,將把資料庫優化成很好的innodb存儲類型和高效率的myisam存儲類型;

Transactional Database Only只用於事務處理類型,最好的優化innodb,但同時也支持myisam;

Non-Transactional Databse Only非事務處理類型,適合於簡單的應用,只有不支持事務的myisam類型是被支持的。

一般選擇第一種多功能的,同樣我們也是。-「next」

選擇InnodDB的數據存放位置,一般默認就行,為了統一我填寫了「WAMP/MySQL Datafiles」-「next」

選擇mysql允許的最大連接數,第一種是最大20個連接並發數,第二種是最大500個並發連接數,最後一種是自定義,自己可以根據需求選擇,我選擇第二個-「next」

下面是選擇資料庫監聽的埠,一般默認是3306,如果改成其他埠,以後連接資料庫的時候都要記住修改的埠,否則不能連接mysql資料庫,比較麻煩,這裡不做修改,用mysq的默認埠:3306-「next」

這一步設置mysql的默認編碼,我們選擇第三個,並在Character Set菜單中,選擇「gbk」編碼-「next」

(註:如果要用原來資料庫的數據,最好能確定原來資料庫用的是什麼編碼,如果這裡設置的編碼和原來資料庫數據的編碼不一致,在使用的時候可能會出現亂碼。)

這一步是是否要把mysql設置成windows的,一般選擇設成服務,這樣以後就可以通過服務中啟動和關閉mysql資料庫。下面的複選框也勾選上,這樣,在cmd模式下,不必非到mysql的bin目錄下執行命令。也就是把上下2個勾都打上,中間默認-「next」

這一步是設置mysql的超級用戶密碼,這個超級用戶非常重要,對mysql擁有全部的許可權,請設置好並牢記超級用戶的密碼,下面有個複選框是選擇是否允許遠程機器用root用戶連接到你的mysql伺服器上面,如果有這個需求,也請勾選。這裡我們使用默認選擇,在New root password和Confirm中輸入密碼。「next」

點擊「execute」進行配置,稍微等待一會,圓點上的勾全部打上,就代表配置完畢。

2.修改配置:

打開D:\WAMP\MySQL\my.ini

設置datadir為D:/WAMP/MySQL/data/或你所要存放數據位置的目錄即可。

三、PHP安裝

版本解釋:VC9 專門為IIS定值的腳本,使用Visual Studio 2008編譯器編譯,支持最新的微軟組建,從而提高效率。

 VC6 是為了其他WEB服務軟體提供的腳本 如 Apache。

 Thread Safe 現成安全,之星時會進行線程 安全檢查,以防止有心要求就啟動新線程(Thread)的CGI執行方式而耗盡系統資源。

 Non Thread Safe是非線程安全,在執行時不進行線程(Thread)安全檢查

選擇版本:PHP5.3(5.3.1)中VC6 x86 Thread Safe下 ZIP下載

下載地址:

1.安裝說明

由於我們下載的的是ZIP壓縮包,只需要將文件解壓到「D:\WAMP\PHP」目錄下即可

2.修改配置

將E:\WAMP\PHP\php.ini-development 文件修改成php.ini

打開php.ini

; extension_dir = 「ext」

修改成:extension_dir = 「E:\WAMP\PHP\ext」

將947行下,這些文件前面的「;」去除

extension=php_curl.dll

extension=php_gd2.dll

extension=php_mbstring.dll

extension=php_mysql.dll

extension=php_mysqli.dll

extension=php_pdo_mysql.dll

extension=php_xmlrpc.dll

;date.timezone =

修改成(很多網站沒提到這裡要修改,默認為美國時間,如果不修改會報錯):date.timezone = Asia/Shanghai

3.測試

重啟Apache(修改過配置文件 必須重啟Apache才會生效)

新建個index.php 頁面,代碼中輸入,保存文件放到「D:\WMAP\www\」目錄下

打開瀏覽器輸入: 如果能正常顯示,說明PHP配置完畢,可以查看該頁面的PHP信息是否正確。

(註:在改文件中輸入函數可輸出大量的有關PHP當前狀態的信息,如PHP版本,伺服器信息和環境等。)

(註:)

接著我們測試下,是否能連接到Mysql

再新建個link.php,下代碼中輸入

$link=mysql_connect(「127.0.0.1″,」root」,」Mysql安裝時填寫的密碼」);

if(!$link) echo 「Mysql資料庫連接失敗!」;

else echo 「Mysql資料庫連接成功!」;

mysql_close();

?>

也保存文件放到「D:\WMAP\www\」目錄下

打開瀏覽器輸入: 查看

四、PhpMyAdmin安裝

版本解釋:phpMyAdmin-3.2.5

選擇版本:phpMyAdmin-3.2.5-all-languages.zip

下載地址:

1.安裝說明

解壓到D:\WAMP\phpMyAdmin

2.修改配置

打開D:\WAMP\phpMyAdmin\libraries\config.default.php

$cfg[‘PmaAbsoluteUri’] = 」;

修改成(填寫訪問phpMyAdmin的絕對URL):$cfg[‘PmaAbsoluteUri’] = 『』;

$cfg[‘Servers’][$i][‘host’] = 『localhost』;

修改成(填寫伺服器地址,通常默認,不需要修改):$cfg[‘Servers’][$i][‘host’] = 『localhost』;

$cfg[‘Servers’][$i][‘user’] = 『root』;

修改成(填寫Mysql用戶名,這裡我們默認):$cfg[‘Servers’][$i][‘user’] = 『root』;

$cfg[‘Servers’][$i][‘password’] = 」;

修改成(填寫Mysql密碼):$cfg[‘Servers’][$i][‘password’] = 『Mysql PWD;

$cfg[‘Servers’][$i][‘auth_type’] = 『cookie』;

修改成(設置認證方法,安全因素考慮,填寫成cookie):$cfg[‘Servers’][$i][‘auth_type’] = 『cookie』;

$cfg[‘blowfish_secret’] = 」;

修改成(設置短語密碼,如果上面設置成cookie,那這裡不能留空,不然登陸會提示錯誤):$cfg[‘blowfish_secret’] = 『cookie』;

3.測試

打開瀏覽器輸入: 訪問和登陸

五、結尾

至此Windows7下的PHP環境搭建完畢,大家盡情的使用吧。

apache怎麼配置多版本PHP

對於不同的php版本在啟動php-fpm/cgi的時候設置不同的埠(例如7.1設置為:9000,7.2設置為9001以此類推),然後不同的配置轉發給對應版本埠的php-fpm/cgi就得到的不同的php版本結果.

原創文章,作者:WKDDF,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/328974.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
WKDDF的頭像WKDDF
上一篇 2025-01-14 18:54
下一篇 2025-01-14 18:54

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • MQTT使用教程

    MQTT是一種輕量級的消息傳輸協議,適用於物聯網領域中的設備與雲端、設備與設備之間的數據傳輸。本文將介紹使用MQTT實現設備與雲端數據傳輸的方法和注意事項。 一、準備工作 在使用M…

    編程 2025-04-29
  • Python3.6.5下載安裝教程

    Python是一種面向對象、解釋型計算機程序語言。它是一門動態語言,因為它不會對程序員提前聲明變數類型,而是在變數第一次賦值時自動識別該變數的類型。 Python3.6.5是Pyt…

    編程 2025-04-29
  • Deepin系統分區設置教程

    本教程將會詳細介紹Deepin系統如何進行分區設置,分享多種方式讓您了解如何規劃您的硬碟。 一、分區的基本知識 在進行Deepin系統分區設置之前,我們需要了解一些基本分區概念。 …

    編程 2025-04-29
  • 寫代碼新手教程

    本文將從語言選擇、學習方法、編碼規範以及常見問題解答等多個方面,為編程新手提供實用、簡明的教程。 一、語言選擇 作為編程新手,選擇一門編程語言是很關鍵的一步。以下是幾個有代表性的編…

    編程 2025-04-29
  • Harris角點檢測演算法原理與實現

    本文將從多個方面對Harris角點檢測演算法進行詳細的闡述,包括演算法原理、實現步驟、代碼實現等。 一、Harris角點檢測演算法原理 Harris角點檢測演算法是一種經典的計算機視覺演算法…

    編程 2025-04-29
  • Qt雷達探測教程

    本文主要介紹如何使用Qt開發雷達探測程序,並展示一個簡單的雷達探測示例。 一、環境準備 在開始本教程之前,需要確保你的開發環境已經安裝Qt和Qt Creator。如果沒有安裝,可以…

    編程 2025-04-29
  • 猿編程python免費全套教程400集

    想要學習Python編程嗎?猿編程python免費全套教程400集是一個不錯的選擇!下面我們來詳細了解一下這個教程。 一、課程內容 猿編程python免費全套教程400集包含了從P…

    編程 2025-04-29
  • 瘦臉演算法 Python 原理與實現

    本文將從多個方面詳細闡述瘦臉演算法 Python 實現的原理和方法,包括該演算法的意義、流程、代碼實現、優化等內容。 一、演算法意義 隨著科技的發展,瘦臉演算法已經成為了人們修圖中不可缺少…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29

發表回復

登錄後才能評論