【PHP入門教程一】安裝 WAMP 環境

本教程主要爲php的面試及入門考慮,內容比較簡單,高手勿噴。第一篇咱們先來學習一下Wamp環境的安裝,Wamp 便是windows + apache + mysql + php的縮寫,本文介紹最新版本的安裝。其實在windows開發環境中有套裝的集成環境wamp能夠直接使用,可是對於咱們學習一門語言,也要學會它的環境,所以配置安裝也是很重要的。對於production release,咱們最重要的是學會Lamp環境,便是Linux環境下的安裝。下一篇教程咱們將會介紹。由於這個對於一個phper是必須的。好了,言歸正傳,讓咱們開始學習吧~ 

 

安裝 WAMP 環境

1 apache 安裝

1.1 目錄

咱們先從官網上下載http://www.apachehaus.com/cgi-bin/download.plx?dli=hpXRzMVVBFjTEN2aSd0Y0okVOpkVFVVcNdEbuJVQphp

apache Haus這個是新的名字,其實就是apache2.4html

下載完成後解壓到你須要的目錄便可。mysql

bin :apache的二進制可執行文件,用來操做apache。其中主要執行文件httpd.exec++

conf :配置文件目錄,主配置文件httpd.conf,另外extra目錄中的httpd-vhosts.conf能夠配置虛擬主機面試

htdocs: apache默認的根目錄sql

include: apache包含的C庫數據庫

logs:記錄apache的日誌包括安裝日誌,訪問日誌,錯誤日誌等apache

modules:apache的模塊windows

1.2 註冊服務

非安裝版的apache咱們須要手動來註冊httpd服務。數組

用如下命令安裝一個名字爲MyServiceName的httpd服務,-n名字,默認服務名稱爲apache2.4

httpd.exe -k install -n "MyServiceName"

移除httpd服務能夠用:

httpd.exe -k uninstall

啓動httpd服務

httpd.exe -k start -n "MyServiceName"

中止httpd服務

httpd.exe -k stop -n "MyServiceName"

在windows註冊服務成功後,咱們能夠在服務列表中看到:

一樣,咱們能夠這樣啓動服務

中止服務

1.3 添加主機域名

因爲沒有DNS,咱們在測試環境須要手動添加須要的主機名,修改文件C:\Windows\System32\drivers\etc\hosts

127.0.0.1       localhost zf2-tutorial.localhost

這樣咱們就添加了localhost 和 zf2-tutorial.localhost兩個域名,同時會映射到咱們的本地地址,加空格能夠再添加多個。

添加完後咱們來測試一下,看到這個頁面說明你apache已經安裝成功。

1.4 添加虛擬主機

一般來講,在windows的apache環境添加站點,不介意直接修改主配置文件,並且主配置文件修改只能對應一個站點。

因此咱們能夠經過添加虛擬主機的方法來添加多個站點。修改conf\extra\httpd-vhosts.conf文件

添加以下代碼

<VirtualHost *:80>  #設置站點方位端口,默認爲80端口
    DocumentRoot "E:\ZendSkeletonApplication-master\ZendSkeletonApplication-master\public"    #網站根目錄
    SetEnv APPLICATION_ENV "development" #設置應用環境變量
    ServerName zf2-tutorial.localhost #設置服務器名,須要和hosts文件中對應
    <Directory "E:\ZendSkeletonApplication-master\ZendSkeletonApplication-master\public"> #目錄權限設置
    DirectoryIndex index.php #設置默認入口文件
    AllowOverride All
    Require all granted #apche中新的配置限制ip訪問目錄的方法,這裏表示容許任何ip訪問這個目錄
    </Directory>
</VirtualHost>

AllowOverride 參數說明

一般利用 Apache的rewrite模塊對 URL 進行重寫的時候, rewrite規則會寫在 .htaccess 文件裏。但要使 apache 可以正常的讀取.htaccess 文件的內容,就必須對.htaccess 所在目錄進行配置。從安全性考慮,根目錄的AllowOverride屬性通常都配置成不容許任何Override,即:

 

< Directory />
AllowOverride None
< /Directory>

 

在 AllowOverride 設置爲 None 時, .htaccess 文件將被徹底忽略。當此指令設置爲 All 時,全部具備 「.htaccess」 做用域的指令都容許出如今 .htaccess 文件中。

而對於 URL rewrite 來講,至少須要把目錄設置爲:

 

< Directory /myblogroot/>
AllowOverride FileInfo
< /Directory>

 

而對於 URL rewrite 來講,至少須要把目錄設置爲:

AuthConfig

容許使用與認證受權相關的指令(AuthDBMGroupFile, AuthDBMUserFile, AuthGroupFile, AuthName, AuthType, AuthUserFile, Require, 等)。

FileInfo

容許使用控制文檔類型的指令(DefaultType, ErrorDocument, ForceType, LanguagePriority, SetHandler, SetInputFilter, SetOutputFilter, mod_mime中的 Add* 和 Remove* 指令等等)、控制文檔元數據的指令(Header, RequestHeader, SetEnvIf, SetEnvIfNoCase, BrowserMatch, CookieExpires, CookieDomain, CookieStyle, CookieTracking, CookieName)、mod_rewrite中的指令(RewriteEngine, RewriteOptions, RewriteBase, RewriteCond, RewriteRule)和mod_actions中的Action指令。

Indexes

容許使用控制目錄索引的指令(AddDescription, AddIcon, AddIconByEncoding, AddIconByType, DefaultIcon, DirectoryIndex, FancyIndexing, HeaderName, IndexIgnore, IndexOptions, ReadmeName, 等)。

Limit

容許使用控制主機訪問的指令(Allow, Deny, Order)。

Options[=Option,...]

容許使用控制指定目錄功能的指令(Options和XBitHack)。能夠在等號後面附加一個逗號分隔的(無空格的)Options選項列表,用來控制容許Options指令使用哪些選項。

 

require 參數說明

  1. ################################################ 
  2. 2.2上的配置 
  3. Order deny,allow 
  4. Deny from all 
  5.  
  6. 2.4上的配置 
  7. Require all denied 
  8.  
  9. ################################################ 
  10. 2.2上的配置 
  11. Order allow,deny 
  12. Allow from all 
  13.  
  14. 2.4上的配置 
  15. Require all granted 
  16.  
  17. ################################################# 

Order allow,deny

能夠理解爲先容許,後排除,

那麼下一句要寫deny from ip..來拒絕這些ip訪問

 

Order deny,allow

能夠理解爲先排除,後容許

那麼下一句要寫allow from ip..來限定這幾個ip訪問

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
下面給出了幾個例子在2.4版本上的配置
1. 僅容許IP爲192.168.1.1的主機訪問

  1. <RequireAll> 
  2.       require all  granted 
  3.       require ip 192.168.1.1 
  4. </RequireAll> 

2.僅容許192.168.0.0/24網絡的主機訪問

  1. <RequireAll>  
  2.       require all  granted  
  3.       require ip 192.168.1.0/24 
  4. </RequireAll>  

3.禁止192.168.1.2的主機訪問,其餘的都容許訪問,

  1. <RequireAll> 
  2.       require all  granted 
  3.       require not ip 192.168.1.2 
  4. </RequireAll> 

4.容許全部訪問,

  1. require all  granted  
  2.  
  3. 注,這個能夠不用加容器 ......   
  4. 直接,寫在  .....裏面就能夠了
  5.  

5.拒絕全部訪問,

  1. require all  denied  

2 php 安裝

目前windows最新php版本爲PHP 5.6

http://windows.php.net/downloads/releases/php-5.6.5-Win32-VC11-x86.zip

下載完成後解壓,主目錄下php.ini-development開發用的配置文件重名爲php.ini

修改擴展路徑

extension_dir = "D:\software\php\ext"

把 extension=php_mysql.dll 前的;去掉

加載相應的模塊去掉前面的;便可

修改時區,國內用PRC

date.timezone = UTC

修改apache主配置文件httpd.conf

在loadModule列表後加上

LoadModule php5_module "D:/software/php/php5apache2_4.dll"
PHPIniDir "D:/software/php/php.ini"

在IfModule mime_module標籤內加入apache對php文件類型的支持

# Add Type for php
    AddType application/x-httpd-php .php .html .htm

若是須要有rewrite模塊的能夠打開註釋(用於.htacess文件中開啓對url重寫的功能)

LoadModule rewrite_module modules/mod_rewrite.so

到這裏apache和php的集成已經完成了,

下面加入在根目錄下添加一個查看配置的測試文件

<?php
phpinfo();
?>

Success!

3 mysql安裝

windows下mySQL安裝仍是比較簡單的,可用「輕鬆+愉快」來形容。

首先咱們去mysql官網下載社區版本http://dev.mysql.com/downloads/file.php?id=455349

 

-選擇install

-確認licence

-選擇安裝類型 選擇自定義,去掉那些龐大無用,好比workbench,建議本身安裝輕量級的客戶端如sqlyog

 

-選擇相應的開發組件,有odbc,jdbc,c++ connector,.net connector等

-正在安裝

-安裝完成配置參數 默認端口號3360

-配置root用戶和新增用戶

 

-配置服務名稱和運行帳戶

安裝完成後咱們啓動mysql服務/關閉mysql服務 默認安裝完已經啓動了

啓動成功說明安裝完成,建議接着安裝數據庫客戶端,好比sqlyog,我一直用這個,很好用。

而後能夠用mysql command line client 登陸數據庫(開始->菜單),也可進入命令行mysql目錄下操做

進入命令行,咱們先建立一個database

create database test;

使用這個數據庫

use test;

建立一張數據表

create table person(

  id int AUTO_INCREMENT,

  name varchar(255) not null,

  primary key(id)

);

插入數據

intert into person values(1, 'david');

 

最後咱們加入測試文件

<?php
    //連接mysql
    $link=mysql_connect("localhost","root","") or die('FAILD TO CONNECT!');
    //選擇數據庫庫
    mysql_select_db("test");
    //執行sql
    $result = mysql_query("select id,name from person");
    print"<table border=1>";
    print"<tr><th>ID</th><th>Name</th></tr>";
    //取出行數組
    while($t_result = mysql_fetch_array($result)){
      $tr = "<tr><td>".$t_result["id"]."</td><td>".$t_result["name"]."</td></tr>";
      print $tr;
    }
    print"</table>";
?> 

連接成功!數據顯示正常!

4 參考資料

http://blog.sina.com.cn/s/blog_9082c1e501018v5x.html

http://www.chinaz.com/server/2010/0129/105397.shtml

http://httpd.apache.org/docs/current/platform/windows.html#down

 

5 總結

本文件簡單介紹了WAMP環境的安裝,此環境主要用於開發和測試,生產環境最好在Linux上部署,若是用Server的話也介意使用IIS,不要用Windows上的apache。後面咱們將會介紹Linux上的LAMP環境安裝,同時咱們要深刻了解配置文件。關於MySQL的配置也會在後續的文章中詳述!

相關文章
相關標籤/搜索