1: 下载php5.3.8 for windows.
说明一下,官网的windows版本有2种,
上面是非线程安全的VC9 x86 Non Thread Safe , 缺少了php5apache2_2.dll 这些文件, 大小是14.93M .
下面那个Thread Safe线程安全版的.才是我们需要的,大小是15.06M
猛击这里下载php5.3.8 for windows VC9 X86
猛击这里下载php5.4.0 for windows VC9 X86
至于VC6和VC9,一个支持apache一个支持IIS.但是试了下VC9用在apache上没问题 .
线程安全Thread Safe(TS)和非线程安全(NTS),就是在执行时是否进行线程安全检查,以防止有新要求就启动新建成的CGI执行方式,进而耗尽系统资源.
执行方式有ISAPI和FastCGI,
前者ISAPI(Internet Server Application Programming Interface)是以DLL动态链接库的形式使用,在用户请求后执行,在处理完一个用户请求后不会马上消失,因此需要进行线程安全检查.以此来提高程序的执行效率. 所以以ISAPI的方式来执行PHP,最好选择Thread Safe版本也就是我们下载的版本,对应的apache的设置在第4段末尾有.
FastCGI是以单一线程执行,所以不需要进行线程安全检查,因为没有了线程安全检查,反而加快了PHP的执行效率.所以如果用FastCGI来执行PHP,最好选择Not Thread Safe版本 .而在apache中就需要设置成下面的.(这里我们配置的环境不用设置)
- ScriptAlias /php/ "F:/php/PHP5"
- Action application/x-httpd-php "/php/php-cgi.exe"
(Notice: 如果安装其它的集成环境,比如wamp会报错,由于这是VC9的原因.会导致加载PHPIniDir后apache不能重启.同理,如果有phper的机器装不上APACHE.PHP5.3.8.解决办法有2个,第一办法是建议换成VC6的版本.官方apache手册也说了VC 9 for apache unstable behaviour,需要大家重新安装.设置跟5.3.8一样.第二个办法是装一个VC++2008的运行环境,具体解决方法请看下面的第10条.
Windows users: please mind that we do no longer provide builds created with Visual Studio C++ 6. It is impossible to maintain a high quality and safe build of PHP for Windows using this unmaintained compiler.
For Apache SAPIs (php5_apache2_2.dll), be sure that you use a Visual Studio C++ 9 version of Apache. We recommend the Apache builds as provided by ApacheLounge. For any other SAPI (CLI, FastCGI via mod_fcgi, FastCGI with IIS or other FastCGI capable server), everything works as before. Third party extension providers must rebuild their extensions to make them compatible and loadable with the Visual Studio C++9 builds that we now provide.)
今天是2012年1月11日.php.net正式放出5.3.9正式版.
新的5.3.9的下载地址在这里
http://windows.php.net/downloads/releases/php-5.3.9-Win32-VC9-x86.zip
源码http://www.php.net/get/php-5.3.9.tar.gz/from/a/mirror
直接把这个下下来后 解压了覆盖就可以了 然后把下面第5步重新做一下 重启apache就OK. 注意覆盖的时候要先停止掉apache.
今天是2012年2月3日,昨天php官方修复了几个最近爆的漏洞后,发布了5.3.10版本 地址在这里
http://windows.php.net/downloads/releases/php-5.3.10-Win32-VC9-x86.zip
源码在这里
http://cn2.php.net/get/php-5.3.10.tar.gz/from/a/mirror
直接把这个下下来后 解压了覆盖就可以了 然后把下面第5步重新做一下 重启apache就OK. 注意覆盖的时候要先停止掉apache.
今天是2012年3月1日,php官方发布了5.4.0版本 地址在这里
http://windows.php.net/downloads/releases/php-5.4.0-Win32-VC9-x86.zip
源码在这里
http://cn2.php.net/get/php-5.4.0.tar.gz/from/a/mirror
直接把这个下下来后 解压了覆盖就可以了 然后把下面第5步重新做一下 重启apache就OK. 注意覆盖的时候要先停止掉apache.
!!!!!!!这里要注意下,更新到5.4.0后 xdebug 和 memcache的dll就会失效.
今天是3月20日,xdebug的官方更新来一个beta版的dll,大家可以按照最后的说明去下它来配合php.
2: 解压后,以前的php.ini是由php.ini-dist文件转变过来的
php5.3.8里面这个文件变成了php.ini-development
php.ini-development 意味着是开发版本的配置.
php.ini-production 是网站发布时的配置.
这里我们用开发版php.ini-development 修改成php.ini后 打开.
3: 下面修改php.ini的配置 我的php5.3.8是放在了F:/php/php5 文件夹下面
修改下面的为以下内容()
- short_open_tag = On 短标签<? ?>开启
- asp_tags = On asp的短标签<* *>开启
- register_globals = off 超级全局变量,建议关闭,打开它会造成安全上的漏洞
- post_max_size= 8M POST提交时候的最大数据提交量
- magic_quotes_gpc = off php自带的安全验证,建议开启
- file_uploads = On php支持文件上传
- upload_max_filesize = 2M 文件上传最大值 2M
- max_file_uploads = 20 同时并发上传的最大文件数
找到extension_dir 和下面很多的 extension= ****.dll 这里
在extension=****.dll 的前面加上这一段来配置php的动态链接库地址
- extension_dir="F:\php\php5\ext"
去掉以下的extension前面的分号 ; 使其开启
- extension=php_bz2.dll
- extension=php_curl.dll
- extension=php_gd2.dll
- extension=php_gettext.dll
- extension=php_mbstring.dll
- extension=php_mysql.dll
- extension=php_mysqli.dll
- extension=php_openssl.dll
- extension=php_pdo_mysql.dll
- extension=php_sockets.dll
- extension=php_xmlrpc.dll
找到date.timezone
设置时区为中国时区
- date.timezone = prc
保存php.ini 并且复制一份到C:\windows 下
4: 让Apahce支持php. (Apache的安装很简单,这里省略下)
打开.\apache2.2\conf\httpd.conf
在大约60行的位置添加
- PHPIniDir "F:/php/php5"
在LoadModule这段后面添加
- LoadModule php5_module "F:/php/php5/php5apache2_2.dll"
apache的htdocs重写这里就省略下. ( T _ T 刚才都要写完了,没保存掉chromium假死了下,然后就白写了...)
(注意下,随着php版本的更新.这个php5apace2_2.dll的模块,可能会改名!比如现在最新的是php5.4里面的php5apache2_3.dll)
在大约380行Addtype那里加入
- AddType application/x-httpd-php .php .php5 .php4 .php3 .phtml .phpt
- AddType application/x-httpd-php-source .phps
5: 重启Apache
这时候弹出找不到php_curl.dll 和php_openssl.dll
可是我们路径都指定了的,解决办法
复制php5文件夹下面的
libeay32.dll, ssleay32.dll, php5ts.dll,
php5/ext文件夹下面的
php_curl.dll,php_openssl.dll
复制到C:/windows/system32 里面.
重启apache
6: 测试phpinfo和mysqlConn.
老版本的php是有一个libmysql.dll文件的,新版的libmysql.dll这个文件已经移交给了MySQL的开发团队,所以大家不用费心去找这个文件了.它就在MySQL安装目录的lib文件夹下. 复制一份到C:/windows/system32即可
在你的apache指定的www目录下新建一个phpinfo()文件.输入
- <?php
- phpinfo();
- ?>
打开浏览器输入http://127.0.0.1/phpinfo.php 得到php的信息
新建一个mysqlconn.php文件.输入
- <?php
- $conn=mysql_connect("localhost","root","123456") or die (mysql_error());
- if(!$conn) echo "Failed!";
- else echo "Successful!";
- print_r ($conn);
- mysql_close();
- ?
打开浏览器输入http://127.0.0.1/mysqlconn.php
得到 Successful! 表明数据库链接成功
7:安装phpMyAdmin3.4.0
解压下来后把phpmyadmin放入www目录
找到phpmyadmin文件夹里的/libraries/config.default.php
修改以下内容
- $cfg['PmaAbsoluteUri'] = 'http://localhost/phpmyadmin/';
- $cfg['Servers'][$i]['host'] = 'localhost';
- $cfg['Servers'][$i]['auth_type'] = 'config'; //如果是网络上则需要改成cookie
- $cfg['blowfish_secret'] = ''; //此项只有当上面修改为cookie后,这里必须修改,内容自定,比如你的域名比如www.yourdomain.com
- $cfg['Servers'][$i]['user'] = 'root'; //登录账户
- $cfg['Servers'][$i]['password'] = '123456'; //密码
- $cfg['DefaultLang'] = 'zh'; //这是默认语言为中文.
- $cfg['DefaultCharset'] = 'utf8'; //这是修改编码方式,可以修改成gb2312.
浏览器打开 http://127.0.0.1/phpmyadmin 输入帐号密码进入
8:phpMyAdmin的出错解决:
a: 无法载入mcrypt扩展,请检查PHP配置
这个问题首先查看mysql是否开始.如果开启了,把php里面的 libmcrypt.dll 复制一份到windows/system32下. 并且检查php.ini文件里面extension=php_mcrypt.dll是否开启.
如果都不行,检查系统环境变量,在我的电脑 右键 属性, 高级 环境变量 里面的 系统变量 Path里面加入你的php安装路径 ;F:\php\php5 注意有分号隔开
b:如果phpMyAdmin登录出现下面的错误.Themysqliextension is missing
The mysqli extension is missing. Please check your PHP configuration. <a href="Documentation.html#faqmysql" target="documentation"><img class="icon" src="./themes/original/img/b_help.png" width="11" height="11" alt="Documentation" title="Documentation" /></a>
复制php/ext/php_mysqli.dll 到windows/system32 后,即可进入
9: zendOptimizer,xdebug,WinCacheGrind加速调试的安装:
zend加速器安装很简单.exe文件,直接双击就行了.WinCacheGrind也是一样.地址就不贴了,大家辛苦搜下.
这里只说下xdebug的安装.
http://127.0.0.1/phpinfo.php
再打开 http://xdebug.org/find-binary.php
然后,把phpinfo.php解析后的内容ctrl+A,ctrl+c复制,然后ctrl+v粘贴在http://xdebug.org/find-binary.php 这个里面
接着点 屏幕左下的那个.
然后会给出你你需要操作的步骤.
第一个是你需要下载的xdebug版本.下载后复制到你的php/ext 里面去.改名不改名无所谓.
然后在php.ini里面添加下面提示的那个地址.比如我在我的php.ini添加上
- [Xdebug]
- zend_extension="F:\php\php5\ext\php_xdebug.dll"
- xdebug.auto_trace=On
- xdebug.collect_params=On
- xdebug.collect_return=On
- xdebug.profiler_enable=on
- xdebug.trace_output_dir="F:\php\php5\xdebug"
- xdebug.profiler_output_dir="F:\php\php5\xdebug"
这里唯一需要注意的是,xdebug的输入路径必须要真实存在,它不会自己建的.所以需要提前建好.如果你下下来没改名,那么我上面的那个挂载文件就需要改成没改名的文件.
这些操作完了,复制一份新的php.ini去windows目录,然后打开cmd.exe输入
- net stop apache2.2
- net start apache2.2
来重启apache.然后就可以在phpinfo的最开始看见zendOptimizer和xdebug加载提示了.
10:Cannot load php5apache2_2.dll into server
如果apache安装完后,打开127.0.0.1显示it works,但是加载配置了的php.ini,重启apache不能启动报错的话,,这里我们先查阅apache的error.log,发现出现cannot load php5apache2_2.dll,这里说下这个问题的解决和缘由
首先去掉
LoadModule php5_module "F:/php/php5apache2_2.dll"
PHPIniDir "F:/php/php5"
重启apache正常.apache版本2.2.18 php版本5.3.8 VC9. 由于5.3.8的PHP是由VC编译完成,如果调用或者运行该PHP的相关文件,则需要安装VC的运行环境,如果没有这个环境,那么Apache调用时就会报上述错误信息.
解决的方法很简单:下一个VC2008运行库安装,地址在这里VC2008.,然后就可以解决了