当前位置: 代码迷 >> PHP >> Eclipse PHP开发环境的筹建
  详细解决方案

Eclipse PHP开发环境的筹建

热度:508   发布时间:2012-07-26 12:01:08.0
Eclipse PHP开发环境的搭建

由于最近要用php做开发,准备搭建环境事宜,在网上找了很久也没找到特别全面的办法,自己结合自身还有网上提供的一些方法写了这一篇文章

1、软件准备

MySQL:下载地址:http://www.mysql.com/downloads/mysql/ ,我的版本是mysql-essential-5.1.55-win32.msi,

Apache:下载地址:http://httpd.apache.org/download.cgi#apache22 ,我的版本是httpd-2.2.22-win32-x86-no_ssl.msi

PHP:下载地址:http://windows.php.net/download/ ,我的版本是php-5.2.17-Win32-VC6-x86.zip,注意:vc6是支持apache服务器的,vc9是支持IIS的, 同时它还分线程安全版本和非线程安全版本,在安装zenddebugger的适合要选择对应版本,配置文件也要对应起来,我的版本是php-5.2.17-Win32-VC6-x86.zip, 不要用那个installer版本的安装文件包(用这个的话很多php扩展都没有安装,比如php的mysql扩展,导致不能连接mysql数据库)

Zend Debugger:http://downloads.zend.com/pdt/server-debugger/ 或者是http://www.zend.com/en/products/studio/downloads 选择Studio Web Debugger,我的版本是前面这个链接下的ZendDebugger-5.2.15-cygwin_nt-i386.zip

Eclipse for PHP:http://www.eclipse.org/downloads/packages/release/galileo/sr2 ,注意下载galileo版本的,Helios版本的在配置server的时候有问题和Indigo目前没这个版本,我的版本为eclipse-php-galileo-SR2-win32.zip,工作空间为:D:/myWorkspaces/phpWorkspace。安装完后,对Eclipse作一些基本的配置。如果要使开发的应用能有更好的国际化支持,能够最大程度的支持中文输出,则最好使使用UTF-8编码。

2、安装配置

依次安装好apache,mysql和将PHP的zip包解压。具体mysql的配置请自行参照其他文献,这个资料很全。

2.1配置Apache载入PHP模块

conf/httpd.conf,在尾部添加下列内容,表示载入php模块。

#BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
PHPIniDir "D:/Program Files/PHP/"
LoadModule php5_module "D:/Program Files/PHP/php5apache2_2.dll"
AddType application/x-httpd-php .php 
#END PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL

?这里注意一下,如果你的apache是2.0版的你就填写LoadModule php5_module "D:/php/php5apache2.dll"。

?

在apache文档目录下(默认为apache安装目录/htdocs)建立一个文件index.php 输入以下内容

<?php
 phpinfo();
?>

?

重启apache
在浏览器中输入http://localhost/index.php会出现PHP版本信息,说明PHP和apache已经搭建成功

2.2添加虚拟目录和默认首页

默认站点主目录为Apache的htdocs目录。由于要在D:/myWorkspaces/phpWorkspace下放置所有的Eclipse工程,因此为了能够访问到各个工程下面的php文件,需要建立一个虚拟目录指向eclipse工程所在目录。修改httpd.conf,在文件结尾添加:

Alias /workspace/ "D:/myWorkspaces/phpWorkspace/"  
<Directory "D:/myWorkspaces/phpWorkspace/">  
   Options Indexes MultiViews  
   AllowOverride None  
   Order allow,deny  
   Allow from all  
</Directory>  

?这样做的好处是,所有php工程都共享一个apache配置,通过http://localhost/Workspace/项目目录,即可访问相应工程下面的php文件。

2.3PHP配置

(1)把D:/php下的php.ini-recommended,改名为php.ini。

(2)设置下面的项目:

    zend.ze1_compatibility_mode = Off //是否支持PHP4,最好关闭它,否则用PHP5处理Zip文件会出错  
    post_max_size = 20M     //POST信息最大容量  
    magic_quotes_gpc = Off     //是否使用魔法引号  
    extension_dir = "D:/PHP/ext"    //PHP扩展  
    upload_max_filesize = 20M    //上传文件大小  
    max_execution_time = 6000    //页面最大执行时间(秒)  
    max_input_time = 600     //脚本解析时间上限(秒)  
    memory_limit = 20M     //脚本分配最大内存  
    output_buffering = On     //是否打开输出缓冲区  
    implicit_flush = On     //及时输出缓冲区内容  

(3)开启出错消息提示:为了在开发时能更好地进行调试,开启php.ini中的display_errors和display_startup_errors变量。display_errors 变量的目的很明显,它告诉PHP是否显示错误。另外,变量error_reporting 的默认值是 E_ALL。这个设置会显示从不良编码实践到无害提示到出错的所有信息。E_ALL 对于开发过程来说有点太细,因为它在屏幕上为一些小事(例如变量未初始化)也显示提示,会搞糟浏览器的输出。如果只想看到错误和不良编码实践,但是不想看到无害的提示,可设成以下值:

error_reporting = E_ALL & ~E_NOTICE  

?(4)找到Dynamic Extensions项,这里是PHP扩展设置部分,启用下列常用扩展(去掉以下几项前面的“;”)。

    extension=php_bz2.dll  
    extension=php_curl.dll  
    extension=php_dba.dll  
    extension=php_dbase.dll  
    extension=php_gd2.dll  
    extension=php_imap.dll  
    extension=php_ldap.dll  
    extension=php_mbstring.dll  
    extension=php_mime_magic.dll  
    extension=php_mysql.dll    //MySQL扩展  
    extension=php_mysqli.dll  
    extension=php_pdo.dll     //PDO扩展  
    extension=php_pdo_mysql.dll     //PDO_MySQL扩展  
    extension=php_sockets.dll  
    extension=php_xmlrpc.dll  
    extension=php_xsl.dll  
    extension=php_zip.dll  

?(5)解压出Zend Debugger,把与PHP版本相对应的ZendDebugger.dll拷贝到PHP安装目录下,修改php.ini,添加以下内容,注意nts指的是非线程安全:

[zend]  
zend_extension_ts=D:/Program Files/PHP/ZendDebugger.dll    
zend_debugger.allow_hosts=127.0.0.1    
zend_debugger.expose_remotely=always  

?把解压出来的dummy.php放到httpd DocumentRoot目录以及D:/php_workspace/下,用于在Eclipse里测试Debugger是否连通(Debug Configurations->PHP Web Page->Test Debugger),成功会出来一个success message。(通过修改worksapce的对应站点目录,Configure "Default PHP Web Server",也可以放到网站的子目录下)。

(6)这一步不是必须的:为防止以后出问题,把PHP下的php5ts.dll、libmysql.dll、以及ext/php_mysql.dll、ext/php_mysqli.dll(如果使用了这个扩展)三个文件拷贝到Windows/system32下。注意很多时候出现一些与代码无关的很难解决的问题时,十之八九就是因为扩展没有正确加载的原因(即使php.ini中的extension_dir指向了ext目录),这主要是因为PHP模块由Apache来加载,这是两个不同的软件,经常会出现一些协作上的问题。这时就要把你使用到的扩展从ext下拷贝到system32下。

2.4Eclipse配置

2.4.1配置Eclipse指向PHP模块

打开Eclipse的Window->Preferences->PHP->PHP Executables->Add,

2.4.2配置Eclipse中的php文件访问URL:

打开Window->Preferences->PHP->PHP Server,编辑Default PHP Web Server条目

注意URL栏中添加了workspace,这个是在httpd.conf中添加的目录别名。

2.4.3配置debug

PHP Debug,如下图所示,选择合适的Debugger,Server

至此,配置完成。

记得重新启动Apache。

2.5测试

配置完后重启apache,然后新建一个PHP Project命名叫FirstPHPTest, 当然使用的是我们的D:/php_workspace作为Eclipse的workspace目录。在工程中新建PHP File, 比如使用的phpinfo.php。内容为

    <?php  
      phpinfo();  
    ?>  

?当在index.php上右键 Run As->PHP Web Page时就可以看到类似如下画面了:


  相关解决方案