搭建PHP开发环境:
1、准备并安装下列软件:
mysql-5.6.13-win32: http://dev.mysql/downloads/目前已经被oracle收购,所以要转到oracle官网下载
Apache 2.2.25: http://httpd.apache/. 在安装过程中,会出现3个文本框,上面两个输入你的本机IP(如:127.0.0.1),最下面输入你的EMAIL。安装完成后,apache就自动启动,可以测试apache是否成功启动。在浏览器地址栏里输入:http://localhost/或http: //127.0.0.1,如果出现“It works.”,那么恭喜你,apache已经成功安装了;同时在电脑右下角的任务栏里有一个绿色的 apache服务器运行图标。
php-5.2.17-Win32-VC6-x86:http://www.php100/html/download/tools/2011/0125/3748.html. 下载无需安装的zip格式的解压包,不要用那个installer版本的安装文件包(用这个的话很多php扩展都没有安装,比如php的mysql扩展,导致不能连接mysql数据库).
在PHP官网上看到又有新版的PHP下载了,于是上去找找For Windows的版本,可是一看确傻眼了,一共给了四个版本,VC9 x86 Non Thread Safe、VC9 x86 Thread Safe、VC6 x86 Non Thread Safe、VC6 x86 Thread Safe,这让我这个菜鸟头疼啊,还好PHP官网提供下载的地方左边有个英文choose我看懂了,我估摸着就是如何来选择版本的意思吧,于是开始查字典及上网查找,终于看明白了具体意思,拿来做个备忘先。 再给PHP100做个广告,据说老大要出视频演示了,我就简单解释一下。
一、如何选择PHP5.3的VC9版本和VC6版本
VC6是什么?
VC6就是legacy Visual Studio 6 compiler,就是使用这个编译器编译的。
VC9是什么?
VC9就是the Visual Studio 2008 compiler,就是用微软的VS编辑器编译的。
那我们如何选择下载哪个版本的PHP呢?
如果你是在windows下使用Apache+PHP的,请选择VC6版本;
如果你是在windows下使用IIS+PHP的,请选择VC9版本。
二、如何选择PHP5.3的Thread Safe和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来使用。
Zend Debugger 5.2: http://www.zend/en/products/studio/downloads. 选择Studio Web Debugger.
Eclipse for PHP: http://www.eclipse/downloads/. 注意是eclipse-php-helios-SR1-win32的版本。Eclipse的工作空间设为D:/php_workspace。
安装完后,对Eclipse作一些基本的配置。如果要使开发的应用能有更好的国际化支持,能够最大程度的支持中文输出,则最好使使用UTF-8编码。
然而,Eclipse工作空间(workspace)的缺省字符编码是操作系统缺省的编码,简体中文操作系统 (Windows XP、Windows 2000简体中文)的缺省编码是GBK或GB18030,在此工作空间中建立的工程编码是GBK或GB18030,工程中建立的文本文件也是GBK或GB18030。如果要使新建立工程、文件直接使UTF-8,则需要做以下工作:
打开Window->Preferences->General->Workspace,将"Thext file encodiing"最好设成UTF-8,以后新建立工程其属性对话框中的Text file encoding即为UTF-8。
修改各种文件的编码:在Window->Preferences->General->Content Type中,Text下面有各种文件格式,选择相应的文件格式,在下面的Default encoding输入框中
输入UTF-8,点Update即可。对PHP开发,最好将HTML和PHP文件编码设为UTF-8。
2、让apache载入php模块: conf/httpd.conf,在尾部添加下列内容,表示载入php模块,要注意版本要吻合。
PHPIniDir "D:/php"
LoadModule php5_module "D:/php/php5apache2_2.dll"
AddType application/x-httpd-php .php
1)、将PHP的压缩包zip解压到一个目录下,如“D:\PHP”;
2)、将PHP目录(D:\PHP)下的 php.ini-production 文件重命名为 php.ini,PHP的配置文件就是它,修改以下几个地方,修改好后把 php.ini 文件复制到 C:\WINDOWS\ 目录里:
extension_dir="D:\PHP\ext" ,指向php文件夹下放置“php_*.dll”文件的路径。
doc_root="D:\php" ,apache设置的首页位置;
default_charset="utf8" ,修改默认字符集,这里,如果前面有分号“;”,去掉这个分号;
register_globals=Off 改为 register_globals=On ,使传递全局变量有效;
extension=php_gd2.dll如果前面有分号,取消分号,以下同;
extension=php_mbstring.dll
extension=php_myslqi.dll
extension=php_mysql.dll 用于连接MYSQL数据库;
3)、将PHP目录下的 php5ts.dll 文件拷贝到 C:\WINDOWS\system32 目录。
4)、最后修改 Apache 的 httpd.conf 文件。在该文件的末尾添加如下2行,表示以模块方式安装PHP进入Apache:
LoadModule php5_module E:/PHP/php5apache2_2.dll
AddType application/x-httpd-php .php
最后在环境变量里编辑Path,加上";D:\PHP;D:\PHP\ext"
增加系统环境变量PHPRC,变量为"D:\PHP"
(5)解压出Zend Debugger,把与PHP版本相对应的ZendDebugger.dll拷贝到PHP安装目录下,修改php.ini,添加以下内容:
- zend]
- zend_extension_ts=D:/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下。
5、配置Eclipse指向PHP模块: 打开Eclipse的Window->Preferences->PHP->PHP Executables->Add,添加
Name: PHP 5.2.11
Executable Path: D:/PHP/php.exe
PHP ini file(optional): D:/PHP/php.ini
PHP debugger: Zend Debugger
6、配置Eclipse中的php文件访问URL: 打开Window->Preferences->PHP->PHP Server,编辑Default PHP Web Server条目,将URL改为http://localhost/Workspace,注意URL栏中添加了Workspace,
这个是在httpd.conf中添加的目录别名。
7、测试: 配置完后重启apache,然后新建一个PHP Project命名叫FirstPHPTest, 当然使用的是我们的D:/php_workspace作为Eclipse的workspace目录。在工程中新建
PHP File, 比如使用的phpinfo.php。内容为
<?php
phpinfo();
当在phpinfo.php上右键 Run As->PHP Web Page。
参考:http://blog.csdn/zhoudaxia/article/details/5271250
问题: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.
Best regards,
Massi.
任务:XDebug安装
nts 非安全线程 ts安全线程
到http://xdebug/download.php选择自己需要的xdebug版本。
下载并解压到自己需要的位置。
在php.ini中加入
zend_extension_ts="你的php根目录/ext/php_xdebug.dll" |
如果不行改用
zend_extension="你的php根目录/ext/php_xdebug.dll" |
然后重启apache通过phpinfo()输出并查找xdebug是否被成功加载。
问题:XDebug无法进入断点
在php.ini中加入
;开启自动跟踪 | |
xdebug.auto_trace = On |
;开启异常跟踪 | |
xdebug.show_exception_trace = On |
;开启远程调试自动启动 | |
xdebug.remote_autostart = On |
;开启远程调试 | |
xdebug.remote_enable = On |
;收集变量 | |
xdebug.collect_vars = On |
;收集返回值 | |
xdebug.collect_return = On |
;收集参数 | |
xdebug.collect_params = On |
xdebug.trace_output_dir="e:/xampp/temp" | |
xdebug.profiler_enable=On |
xdebug.profiler_output_dir=" e:/xampp/temp" | |
xdebug.remote_host=localhost | |
xdebug.remote_port=9000 |
xdebug.remote_handler=dbgp |
最后,记得重启apache
参考:http://wwwblogs/yaksea/archive/2011/08/26/2154154.html
更多推荐
Eclipse for PHP开发环境
发布评论