欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

php5.4.6/5.3.16/5.2.17安装(In windows),配置(转)

程序员文章站 2022-05-07 20:03:41
...

转至:http://blog.csdn.net/rainysia/article/details/6740875 1: 下载php5.3.8 for windows. 说明一下,官网的windows版本有2种, 上面是非线程安全的VC9 x86 Non Thread Safe , 缺少了php5apache2_2.dll (注意,在php5.4.0以及后面的5.4版本,此文件更新为php

转至:http://blog.csdn.net/rainysia/article/details/6740875

1: 下载php5.3.8 for windows.

说明一下,官网的windows版本有2种,

上面是非线程安全的VC9 x86 Non Thread Safe , 缺少了php5apache2_2.dll (注意,在php5.4.0以及后面的5.4版本,此文件更新为php5apache2_3.dll)这些文件, 大小是14.93M .

下面那个Thread Safe线程安全版的.才是我们需要的,大小是15.06M

猛击这里下载php5.3.8 for windows VC9 X86

猛击这里下载php5.4.0 for windows VC9 X86

今天是2012年8月16日,官方更新php5.3.16 和5.4.6版本

这里是php5.4.1 for windows VC9 X86

这里是php5.3.11 for windows VC9 X86

php-5.4.6-Win32-VC9-x86.zip

php-5.3.16-Win32-VC9-x86.zip

php-5.2.17-Win32-VC6-x86.zip

linux 源码

php5.4.6.tar.gz

php5.3.16.tar.gz

至于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中就需要设置成下面的.(这里我们配置的环境不用设置)

[php] view plaincopyprint?

  1. ScriptAlias /php/ "F:/php/PHP5"
  2. Action application/x-httpd-php "/php/php-cgi.exe"
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.
)

!!!!!!!这里要注意下,更新到5.4.*后 xdebug 和 memcache的dll就会失效.,需要去php.ini文件里面注销掉那几行代码.

今天是3月20日,xdebug的官方更新来一个beta版的dll,大家可以按照最后的说明去下它来配合php.

今天是4月26日,php官方更新版本分别至5.3.11和5.4.1版本. 下面分别说下更新方法,直接安装新的版本也需要注意这几个地方

后续版本更新tips:

①对于5.3.11 ~到 ~5.3.15 ,把5.3.11或者后续代码的文件下载下来解压后直接覆盖,然后重做下面第5步就可以了.然后重启apache (覆盖前记得停掉apache)就可以了.这个xdebug和memcache都还可以用的.建议作为开发环境使用的版本.

②对于5.4.1 ~到~ 5,4,5以及5.4.0 可以看见在php文件夹里面已经存在了3个不同的php5apache2_2.dll php5apache2_2_filter.dll php5apache2_3.dll ,在5.4.0的版本中,需要把apache的配置文件httpd.conf里面LoadModule php5_module "D:/php/php5/php5apache2_2.dll" 改成php5apache2_3.dll 而在5.4.1里面,这几个文件还是存在,但是则需要改回去,改成php5apache2_2.dll,

③千万要记住,http.conf文件只对于5.4.0版本需要修改,后面的5.4.1,5.4.2,5.4.3,5.4.4, 5.4.5里面还是用 LoadModule php5_module "F:/php/php5/php5apache2_2.dll"

④对于5.4.X的版本,因为xdebug和memcache没有更新,所以已经失效,需要去php.ini里面,注销掉不能用的xdebug和memcache ,注销直接在前面加上 ; 分号即可,然后重启apache.

⑤今天是8月16日,php官方更新版本至5.3.16和5.4.6版本. 其中,5.3.16更新步骤和上面5.3.11一样.解压后重做下面第5步既可. 5.4.6同上面5.4.1

(注意5.4.5, 5.4.6里面,register_globals = On 需要注销掉,因为已经取消了,magic_quotes_gpc=On 也要注销掉,也是因为已经废弃了,注销直接前面加 ; )

php5.4.6/5.3.16/5.2.17安装(In windows),配置(转)

php5.4.6/5.3.16/5.2.17安装(In windows),配置(转)

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 文件夹下面

修改下面的为以下内容()

[php] view plaincopyprint?

  1. register_globals = off 超级全局变量,建议关闭,打开它会造成安全上的漏洞
  2. post_max_size= 8M POST提交时候的最大数据提交量
  3. magic_quotes_gpc = off php自带的安全验证,建议开启
  4. file_uploads = On php支持文件上传
  5. upload_max_filesize = 2M 文件上传最大值 2M
  6. max_file_uploads = 20 同时并发上传的最大文件数

找到extension_dir 和下面很多的 extension= ****.dll 这里

在extension=****.dll 的前面加上这一段来配置php的动态链接库地址

[php] view plaincopyprint?

  1. extension_dir="F:\php\php5\ext"
extension_dir="F:\php\php5\ext"

去掉以下的extension前面的分号 ; 使其开启

[php] view plaincopyprint?

  1. extension=php_bz2.dll
  2. extension=php_curl.dll
  3. extension=php_gd2.dll
  4. extension=php_gettext.dll
  5. extension=php_mbstring.dll
  6. extension=php_mysql.dll
  7. extension=php_mysqli.dll
  8. extension=php_openssl.dll
  9. extension=php_pdo_mysql.dll
  10. extension=php_sockets.dll
  11. extension=php_xmlrpc.dll
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

设置时区为中国时区

[php] view plaincopyprint?

  1. date.timezone = prc
date.timezone = prc


保存php.ini 并且复制一份到C:\windows 下

4: 让Apahce支持php. (Apache的安装很简单,这里省略下)

打开.\apache2.2\conf\httpd.conf

在大约60行的位置添加

[php] view plaincopyprint?

  1. PHPIniDir "F:/php/php5"
PHPIniDir "F:/php/php5"

注意一定要添加在LoadModule 那一段的前面,以便提前加载,不然稍后的phpMyAdmin容易出错.

在LoadModule这段后面添加

[php] view plaincopyprint?

  1. LoadModule php5_module "F:/php/php5/php5apache2_2.dll"
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那里加入

[php] view plaincopyprint?

  1. AddType application/x-httpd-php .php .php5 .php4 .php3 .phtml .phpt
  2. AddType application/x-httpd-php-source .phps
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] view plaincopyprint?

  1. phpinfo();
  2. ?>


打开浏览器输入http://127.0.0.1/phpinfo.php 得到php的信息

新建一个mysqlconn.php文件.输入

[php] view plaincopyprint?

  1. $conn=mysql_connect("localhost","root","123456") or die (mysql_error());
  2. if(!$conn) echo "Failed!";
  3. else echo "Successful!";
  4. print_r ($conn);
  5. mysql_close();
  6. ?


打开浏览器输入http://127.0.0.1/mysqlconn.php

得到 Successful! 表明数据库链接成功

7:安装phpMyAdmin3.4.0

解压下来后把phpmyadmin放入www目录

找到phpmyadmin文件夹里的/libraries/config.default.php

修改以下内容

[php] view plaincopyprint?

  1. $cfg['PmaAbsoluteUri'] = 'http://localhost/phpmyadmin/';
  2. $cfg['Servers'][$i]['host'] = 'localhost';
  3. $cfg['Servers'][$i]['auth_type'] = 'config'; //如果是网络上则需要改成cookie
  4. $cfg['blowfish_secret'] = ''; //此项只有当上面修改为cookie后,这里必须修改,内容自定,比如你的域名比如www.yourdomain.com
  5. $cfg['Servers'][$i]['user'] = 'root'; //登录账户
  6. $cfg['Servers'][$i]['password'] = '123456'; //密码
  7. $cfg['DefaultLang'] = 'zh'; //这是默认语言为中文.
  8. $cfg['DefaultCharset'] = 'utf8'; //这是修改编码方式,可以修改成gb2312.
$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. php5.4.6/5.3.16/5.2.17安装(In windows),配置(转)

复制php/ext/php_mysqli.dll 到windows/system32 后,即可进入

9: zendOptimizer,xdebug,WinCacheGrind加速调试的安装:

zend加速器安装很简单.exe文件,直接双击就行了.WinCacheGrind也是一样.地址就不贴了,大家辛苦搜下.

zendoptimizer3.3.3

http://www.zend.com/download/144?start=true 更新的版本,直接放到之前安装zendoptimizer的目录即可,找到对应的目录

这里只说下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添加上

[php] view plaincopyprint?

  1. [Xdebug]
  2. zend_extension="F:\php\php5\ext\php_xdebug.dll"
  3. xdebug.auto_trace=On
  4. xdebug.collect_params=On
  5. xdebug.collect_return=On
  6. xdebug.profiler_enable=on
  7. xdebug.trace_output_dir="F:\php\php5\xdebug"
  8. xdebug.profiler_output_dir="F:\php\php5\xdebug"
[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输入

[php] view plaincopyprint?

  1. net stop apache2.2
  2. net start apache2.2
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.,然后就可以解决了