經過摸索,總結出下列Apache、MySQL、PHP、EPP、ZendDebugger的開發環境配置方法:
版本:
Apache: Apache-httpd-2.2.25-win32-x86-no_ssl.msi
MySQL:mysql-5.5.28-win32.zip
PHP:php-5.3.28-Win32-VC9-x86.msi
EPP:EPP3_Setup.rar
ZendDebugger:ZendDebugger-20110410-cygwin_nt-i386.zip
一、先安裝上述軟件
二、配置Apache和php環境:
(1)修改php.ini文件如下:
1) extension_dir = "C:\PHP53\ext"
2) extension=php_mysql.dll
extension=php_gd2.dll
......
(2) 修改Apache/conf下的httpd.conf,在文件尾部添加:
#BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
PHPIniDir "C:\PHP53\"
LoadModule php5_module "C:\PHP53\php5apache2_2.dll"
AddType application/x-httpd-php .php
#END PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
(3)
1)在環境變量的Path設置下添加:
C:\php53\php-5.2.6;C:\php53\php-5.2.6\ext
2)經過上述配置,在Apache/htdocs目錄下創建一個php測試文件index.php如下:
<?php
echo "Hello php!";
?>
3)重新啟動Apache, 打開IE在地址欄輸入:http://localhost/index.php,如果能工作就表示php和apache能工作了。
三、配置Eclipse的PHP開發、調試環境
(1)解壓ZendDebugger-20110410-cygwin_nt-i386.zip, 將5_3_x_nts_comp目錄中的ZendDebugger.dll文件拷貝到C:\php53\ext下面
(2)在php.ini文件的最后增加:
[zend]
zend_extension_ts= C:/PHP53/ZendDebugger.dll
zend_debugger.allow_hosts=127.0.0.1
zend_debugger.expose_remotely=always
(3)將dummy.php文件copy到Apache的安裝目錄下的htdocs目錄下,例如:C:\Program Files\Apache Software Foundation\Apache2.2\htdocs下面
(4)配置Apache:
比如我在D:\Workspace_EPP3下放置所有的Eclipse工程,那么修改Apache/conf/httpd.conf,在文件結尾添加:
Alias /Workspace/ "D:/Workspace_EPP3/"
<Directory "D:/Workspace_EPP3/">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
這樣做的好處是,所有php工程都共享一個apache配置(看下面如何設置)。
(5)配置Eclipse:
打開Eclipse->Window->Preferences->PHP:
PHP Executables->Add,如下所示設置:

PHP Servers->New,如下所示設置:

注意URL欄中添加了Workspace,這個是在httpd.conf中添加的目錄別名。
PHP Debug,如下圖所示,選擇合適的Debugger、Server:

至此,配置完成。
記得再次重新啟動Apache。
四、最后,建一個測試程序,看看效果如何:
新建一個PHP Project命名叫FirstPHPTest, 當然使用的是我們的D:\Workspace_EPP3作為Eclipse的workspace目錄。
在工程中新建PHP File, 比如使用上面的test1.php:
<?php
echo "work done!"
?>
當在test1.php上右鍵Run As->PHP Web Page時就可以看到類似如下畫面了:

五、關於XDebug
如果上述使用ZendDebugger發現Test Debugger報錯:

如果你的php版本是5.3以上,且是thread safe的,那么不要浪費你的時間做嘗試,建議你直接改用XDebug吧。以下官方給出的解釋。
The Debugger we provide supports only the non-thread-safe architecture, that is why it does not load in your configuration.
Zend stopped supporting the thread safe architecture when Microsoft also decided to implement its PHP engine with the fast-cgi architecture which means non-thread-safe.
XDebug安裝,在php.ini中配置:
[Xdebug]
zend_extension = C:\PHP53\ext\php_xdebug-2.2.5-5.3-vc9.dll
xdebug.auto_trace=on
xdebug.profiler_enable=on
xdebug.trace_output_dir=C:\PHP53\debuginfo
xdebug.profiler_output_dir=C:\PHP53\debuginfo
xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.collect_params=on
xdebug.collect_return=on
