標籤:
做了兩天的實驗才終於摸清楚如何將PHP串連上sqlserver資料庫,以及怎樣通過修改virtualhost檔案來重新導向,因為走得彎路比較多所以很想分享一下這次的心路曆程。
第一步:安裝wamp等類似的整合軟體
我使用的是Wampserver2.4-x86這個整合軟體包
(我碰到的Wampserver2.4裡面的都是php5.4,Wampserver2.5裡面的都是php5.5)
它裡麵包含了Apache/2.4.4 (Win32) PHP/5.4.16 MySql/5.5
安裝好這個軟體包之後可以在瀏覽器中輸入127.0.0.1這個測試地址,如果出現如下介面
就說明這個軟體正常安裝。
第二步:安裝相關組件以及下載相關擴充
本地機要安裝相應 Microsoft SQL Server Native Client (軟體叫sqlncli.msi),不然的話能安裝上sqlsrv擴充但是連不上資料庫
安裝sqlsrv之前請認真看http://www.microsoft.com/en-us/download/details.aspx?id=20098
第三步:修改wamp中相關的配置
1.\wamp\bin\apache\Apache2.4.4\bin\php.ini
添加相應擴充檔案名稱,比如
extension=php_pdo_sqlsrv_54_ts.dll
extension=php_sqlsrv_54_ts.dll
extension=php_memcache.dll
此處說明一下,wamp中實際起作用的php.ini是wamp\bin\apache\Apache2.4.4\bin\php.ini中的那個php.ini而不是wamp\bin\php\php5.4.16中的php.ini
2.wamp\bin\php\php5.4.16\ext
添加對應的擴充源檔案,比如
php_pdo_sqlsrv_54_ts.dll
php_sqlsrv_54_ts.dll
php_memcache.dll
3.wamp\bin\apache\Apache2.4.4\conf\httpd.conf
修改DocumentRoot和Directory為如下樣子(此處我是把我的項目都放在e:/www目錄裡)
DocumentRoot "e:/www"
<Directory "e:/www">
開啟載入模組
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule vhost_alias_module modules/mod_vhost_alias.so
Include conf/extra/httpd-vhosts.conf
4.wamp\bin\apache\Apache2.4.4\conf\extra\httpd-vhosts.conf
修改為以下樣子,
<VirtualHost 127.0.0.1:80>
DocumentRoot "e:/www/"
ServerName localhost
</VirtualHost>
<VirtualHost 127.0.0.2:80>
DocumentRoot "E:/www/webdev2/m/trunk/web"
ServerName mm.test.fang.com
RewriteEngine on
#海外rewrite規則
RewriteRule ^/world/dgnews.html$ /world/index.php?c=world&a=dgnews [L]
RewriteRule ^/world/zynews.html$ /world/index.php?c=world&a=zynews [L]
</VirtualHost>
說明:可以將wamp\www中的兩個檔案複製到e:/www目錄裡這樣可以方便以後查看相應版本資訊,但是複製後要修改這個裡面的index.php檔案,不多,兩個地方
$wampConfFile = ‘../wampmanager.conf‘;
$aliasDir = ‘../alias/‘;
將這裡的相對路徑改成絕對路徑
5. C:\Windows\System32\Drivers\etc
修改host檔案為如下形式
127.0.0.1 localhost
127.0.0.2 mm.test.fang.com
127.0.0.3 map1.test.fang.com
127.0.0.4 nmap.test.fang.com
修改之後要重啟Apache,然後在地址欄中輸入127.0.0.1會出現如下介面
紅色部分為新添加的擴充。
看到這裡只能說明你的擴充是串連上了,能不能連上sqlserver資料庫還的看你之前安得Microsoft SQL Server Native Client是不是和你的作業系統匹配,最後用程式能連上資料庫才說明真正的安好了。
細節:
1. php版本和你所下載的擴充是不是一致的;
2. php分為安全線程版(ts)和非安全線程版(nts),有的擴充也分這個,所以你的試一下,看哪個擴充適合
php_pdo_sqlsrv_54_ts.dll
php_sqlsrv_54_ts.dll
也有
php_pdo_sqlsrv_54_nts.dll
php_sqlsrv_54_nts.dll
3.安裝sqlsrv擴充之前一定得看
http://www.microsoft.com/en-us/download/details.aspx?id=20098
官方文檔說明
4.SQL Server Driver for PHP2.0 版本(sqlserver20.exe)
支援資料庫版本:sqlserver 2005 ,sqlserver 2008
支援php版本:php5.2 , php5.3
.SQL Server Driver for PHP3.0 版本(sqlserver30.exe)
支援資料庫版本:sqlserver 2005 ,sqlserver 2008, sqlserver 2012
支援php版本:php5.3 , php5.4
SQL Server Driver for PHP3.1 版本(sqlserver31.exe)
支援php版本:php5.5
總結:
微軟的東西真TM嫌人
PHP安裝sqlsrv和memcache擴充步驟