本文再詳細介紹一下Windows系統配置PHP環境的方法,該教程使用了最新的 PHP 5.3.5,總結一下:
1,安裝 XAMPP:
這種安裝是最簡單的了,直接訪問官網:http://www.apachefrIEnds.org/zh_cn/xampp.Html
下載 適用於 Windows 的 XAMPP 即可,安裝及配置方法寫的一明二白;
2,分開安裝 apache,PHP,MySQL:
> apache
官網:http://httpd.apache.org/
下載最新版:http://www.motorlogy.com/apachemirror//httpd/binarIEs/win32/httpd-2.2.17-win32-x86-openssl-0.9.8o.msi
即:httpd-2.2.17-win32-x86-openssl-0.9.8o.msi
點擊安裝:我選的是針對所有用戶的安裝,默認端口是 80 端口;
安裝好後把 182 行的 ServerName 之前的 # 去掉,改為:
ServerName localhost:80
一般情況下,46 行的 Listen 80 ,監聽 80 端口,和 ServerName 的端口一致;
可以使用自帶的 Apache 服務監測工具 Monitor apache Servers 來管理服務,也可以使用 cmd 命令來啟動和停止服務:
net start apache2.2
net stop apache2.2
如果你的電腦裡還裝有老版本的 Apache 的話,Monitor apache Servers 也會監測到它。
開啟服務後,在浏覽器中鍵入:localhost,如果顯示“It Works!”的話 則安裝成功。
> PHP
官網:http://Windows.PHP.Net/download/
在下載的時候注意看右方的 Which version do I choose?
If you are using PHP with Apache 1 or Apache2 from apache.org you need to use the VC6 versions of PHP
If you are using PHP with IIS you should use the VC9 versions of PHP
VC6 Versions are compiled with the legacy Visual Studio 6 compiler
VC9 Versions are compiled with the Visual Studio 2008 compiler and have improvements in performance and stability. The VC9 versions require you to have the Microsoft 2008 C++ Runtime (x86) or the Microsoft 2008 C++ Runtime (x64) installed
Do NOT use VC9 version with apache.org binarIEs
VC9 versions of Apache can be fetched at Apache Lounge. We use their binarIEs to build the apache SAPIs.
它告訴你應該選擇什麼版本的 PHP,因為使用的是 apache, 故選擇:VC6 x86 Thread Safe
其實上方還有一個:VC6 x86 Non Thread Safe 版本,我們最好選擇第一個版本(線程安全版本),網上的資料是:
先從字面意思上理解,Thread Safe 是線程安全,執行時會進行線程(Thread)安全檢查,以防止有新要求就啟動新線程的 CGI 執行方式而耗盡系統資源。Non Thread Safe 是非線程安全,在執行時不進行線程(Thread)安全檢查。
再來看 PHP 的兩種執行方式:ISAPI 和 FastCGI。
ISAPI 執行方式是以 DLL 動態庫的形式使用,可以在被用戶請求後執行,在處理完一個用戶請求後不會馬上消失,所以需要進行線程安全檢查,這樣來提高程序的執行效率,所以如果是以 ISAPI 來執行 PHP,建議選擇 Thread Safe 版本;
而 FastCGI 執行方式是以單一線程來執行操作,所以不需要進行線程的安全檢查,除去線程安全檢查的防護反而可以提高執行效率,所以,如果是以 FastCGI 來執行 PHP,建議選擇 Non Thread Safe 版本。
官方並不建議你將Non Thread Safe 應用於生產環境,所以我們選擇Thread Safe 版本的PHP來使用。
下載鏈接:http://Windows.PHP.Net/downloads/releases/PHP-5.3.5-Win32-VC6-x86.zip
即:PHP-5.3.5-Win32-VC6-x86.zip
解壓到認為合適的文件夾裡,之後就要配置 apache 支持 PHP 了,看看我的文件結構:
也可以作為預期的文件結構來整理,webRootDoc 作為根目錄(需要配置 apache 的 DocumentRoot 配置)。
解壓之後開始配置 apache 來支持 PHP;
> 配置 apache 支持 PHP
打開 apache 的配置文件 httpd.conf ,加入:
LoadModule php5_module D:/newVersionPhp/php-5.3.5/PHP5apache2_2.dll
AddType application/x
-httpd
-PHP
.php3 .PHP
AddType application/x
-httpd
-PHP
-source
.PHPs
AddType application/x
-httpd
-PHP
.po .py .pl .hu
# PHPIniDir
PHPIniDir
"D:\newVersionPhp\PHP-5.3.5"
上面的 PHPIniDir 規定了php.ini 配置文件的搜索目錄,這樣就不用把 PHP.ini 放入 C:/Windows 中了。
配置好了以後使用 PHPinfo() 函數來檢測是否安裝成功。
> MySQL
官網:http://dev.MySQL.com/downloads/
我下載的是:
MySQL Community Server(Current Generally Available Release: 5.5.9)MySQL Community Server is a freely downloadable version of the world's most popular open source database that is supported by an active community of open source developers and enthusiasts.DOWNLOAD
下載的話貌似需要免費注冊一個帳號,注冊吧!別猶豫!全名:MySQL-5.5.9.msi
提供了傻瓜式的安裝。
之後啟動服務和關閉服務類似於 apache:
net start MySQL
net stop MySQL
> 配置 PHP 支持 MySQL
我們使用 $php_path 來表明你的 PHP 的安裝目錄:
1) 將 $PHP_path\libMySQL.dll 拷入 Windows 的 system32 目錄中;
2) 將 $php_path\ext\php_MySQL.dl l 拷到 $PHP_path\ 下;
3) 重命名:$php_path\php.ini-production 為 php.ini ,這樣的話 PHP.ini 才投入使用。
4) 設置 PHP.ini 的 extension_dir :
; Directory in which the loadable extensions (modules) reside.
; http://PHP.Net/extension
-dir
; extension_dir =
"./"
; On Windows:
; extension_dir =
"ext"
extension_dir =
"D:/newVersionPhp/PHP-5.3.5/ext"
5) 去掉 948 行之後每一行 extension 之前的分號。
> 測試 MySQL
可以寫一個簡單的腳本來測試是否已經配置好 PHP 和 MySQL:
<?PHP
$db_host
=
'localhost'
;
$db_database
=
'test'
;
$db_username
=
'root'
;
$db_passWord
=
'123'
;
$connection
= MySQL_connect(
$db_host
,
$db_username
,
$db_passWord
);
if
(!
$connection
){
dIE
(
"Could not connect to the database: <br />"
. MySQL_error());
}
else
{
echo
"connected successfully!"
;
}
?>
> 安裝 PEAR 擴展
剛開始使用的可能是老版本的 go-pear.PHP 來安裝的,安裝一直出錯,最後在一個論壇上找到了原因:
QUOTE(Ric @ Jan 26 2011, 08:41 AM)
It looks as if go-pear.PHP v1.1.2 remains the latest version (as per Pear web-site).
However core and other elements have been updated while go-pear has been neglected.
Solution is to edit file:
UniServer\home\admin\www\plugins\pear\go_pear.PHP
Locate this section:
CODE
'PEAR.php' => 'http://svn.PHP.Net/vIEwvc/pear/pear-core/branches/PEAR_1_4/PEAR.PHP?vIEw=co',
'Archive/Tar.php' => 'http://svn.PHP.Net/vIEwvc/pear/packages/Archive_Tar/tags/RELEASE_1_3_2/Archive/Tar.PHP?vIEw=co',
'Console/Getopt.php' => 'http://svn.PHP.Net/vIEwvc/pear/pear-core/branches/PEAR_1_4/Console/Getopt.PHP?vIEw=co',
Change as shown below:
CODE
'PEAR.php' => 'http://svn.PHP.Net/vIEwvc/pear/pear-core/branches/PEAR_1_6/PEAR.PHP?vIEw=co',
'Archive/Tar.php' => 'http://svn.PHP.Net/vIEwvc/pear/packages/Archive_Tar/tags/RELEASE_1_3_3/Archive/Tar.PHP?vIEw=co',
'Console/Getopt.php' => 'http://svn.PHP.Net/vIEwvc/pear/pear-core/branches/PEAR_1_6/Console/Getopt.PHP?vIEw=co',
經過修改後的 go_pear.PHP 沒有問題了,安裝成功:
Starting installation ...
Loading zlib: ok
Bootstrapping Installer...................
Bootstrapping PEAR.PHP............(remote) ok
Bootstrapping Archive/Tar.PHP............(remote) ok
Bootstrapping Console/
Getopt
.PHP............(remote) ok
Extracting installer..................
Downloading package: PEAR.............ok
Downloading package: Structures_Graph....ok
Preparing installer..................
Updating channel
"doc.PHP.Net"
Update of Channel
"doc.PHP.Net"
succeeded
Updating channel
"pear.PHP.Net"
Channel
"pear.PHP.Net"
is up to
date
Updating channel
"pecl.PHP.Net"
Update of Channel
"pecl.PHP.Net"
succeeded
Installing selected packages..................
Downloading
and
installing package: PEAR.............ok
Installing bootstrap package: Structures_Graph.......ok
Downloading
and
installing package: Archive_Tar-stable.......ok
Downloading
and
installing package: Console_Getopt-stable.......ok
Downloading
and
installing package: PEAR_Frontend_Web-beta.......ok
Writing WebFrontend file ... ok
Installation Completed !
Note: To
use
PEAR without any problems you need to add your
PEAR Installation path (D:\newVersionPHP\PEAR/PEAR)
to your include_path.
Using a .htAccess file
or
directly edit httpd.conf would be working solutions
for
apache running servers, too.
For more information about PEAR, see:
PEAR FAQ
PEAR Manual
Thanks
for
using go-pear!