PHP5.2.4升级到5.3.3注意问题---至少xp/2003适用

来源:互联网 发布:江苏减招 知乎 编辑:程序博客网 时间:2024/06/02 05:13

今天给论坛做安全扫描时提示php版本太低,于是在php官网(http://windows.php.net/downloads/releases/)下了个最新版本:php-5.3.3-Win32-VC6-x86.zip(不要下php-5.3.3-Win32-VC9-x86.zip,据说它是IIS服务器的安装版本,不过不知道为什么我在xp下的apache下用VC9安装成功了而在2003服务器上试了好几次都没装成功)。google并重新整理了一份关于升级要注意的事项,如下:
1. 解压php-5.3.3-Win32-VC9-x86.zip并重命名为PHP拷贝到C盘覆盖原来的低版本(位置无要求,我的是装在C盘),打开php目录(我的是C:/php)可以看到目录下有php.ini-development和php.ini-production两个文件,据说第一个是开发使用的配置文件,第二个是标准的生产环境的配置。
2. 复制一份php.ini-development到同目录下,并改名为php.ini使用文本工具打开,查找extension_dir,可以看到多个,选择On windows:下面的那个并去掉前面的分号修改为extension_dir = "C:/php/ext"(根据自己的目录结构配置),目的是找到和php.ini同目录下的ext文件夹中的扩展库。
3. 查找extension=php_,去掉以下几个扩展前面的分号(基本的几项)。

  1. extension=php_curl.dll
  2. extension=php_gd2.dll
  3. extension=php_mbstring.dll
  4. extension=php_mysql.dll
  5. extension=php_mysqli.dll
  6. extension=php_pdo_mysql.dll
  7. extension=php_xmlrpc.dll
复制代码

4、查找short_open_tag = Off,改成On,让其支持短标签。
5. 复制php5ts.dll文件到WINDOWS/system32目录下。
6、重启apache,如果提示“PHP startup: Unable to load dynamic library...”之类的错误码,是因为找不到扩展所依赖的dll文件。所以为了能够使用这些扩展,除了要正确地配置extension_dir外,还得保证系统能够找到这些扩展所依赖的dll,解决的办法有两个:
1)将这些依赖的dll拷贝到c:/windows/system32下。
2)或者将PHP的安装目录添加到%PATH%中---没测试
据说两种方法都能很好地解决问题,这里我只用了第一种,如果选择第一种方法,还要知道需要的那些dll所依赖的dll文件,可从下面列出的找到一些:

  1. php_curl.dll CURL, Client URL library functions Requires:   libeay32.dll, ssleay32.dll (bundled)
  2. php_domxml.dll DOM XML functions PHP <= 4.2.0 requires: libxml2.dll
  3. (bundled) PHP >= 4.3.0 requires: iconv.dll (bundled)
  4. php_fdf.dll FDF: Forms Data Format functions. Requires: fdftk.dll
  5. gnu_gettext.dll (bundled), PHP >= 4.2.3 requires libintl-1.dll,
  6. php_iconv.dll ICONV characterset conversion Requires: iconv-1.3.dll
  7. php_ingres.dll Ingres II functions Requires: Ingres II libraries
  8. php_interbase.dll InterBase functions Requires: gds32.dll (bundled)
  9. php_java.dll Java functions PHP <= 4.0.6 requires: jvm.dll (bundled)
  10. php_ldap.dll LDAP functions PHP <= 4.2.0 requires libsasl.dll(bundled),
  11. PHP >= 4.3.0 requires libeay32.dll,ssleay32.dll (bundled)
  12. php_mcrypt.dll Mcrypt Encryption functions Requires: libmcrypt.dll
  13. php_mhash.dll Mhash functions PHP >= 4.3.0 requires: libmhash.dll   (bundled)
  14. php_mcrypt.dll Mcrypt Encryption functions Requires: libmcrypt.dll
  15. php_mhash.dll Mhash functions PHP >= 4.3.0 requires: libmhash.dll   (bundled)
  16. php_msql.dll mSQL functions Requires: msql.dll (bundled)
  17. php_mssql.dll MSSQL functions Requires: ntwdblib.dll (bundled)
  18. php_mysql.dll MySQL functions PHP >= 5.0.0, requires libmysql.dll   (bundled)
  19. php_mysqli.dll MySQLi functions PHP >= 5.0.0, requires libmysqli.dll   (bundled)
  20. php_oci8.dll Oracle 8 functions Requires: Oracle 8.1+ client libraries
  21. php_openssl.dll OpenSSL functions Requires: libeay32.dll (bundled)
  22. php_oracle.dll Oracle functions Requires: Oracle 7 client libraries
  23. php_sybase_ct.dll Sybase functions Requires: Sybase client libraries
  24. php_xmlrpc.dll XML-RPC functions PHP >= 4.2.1 requires: iconv.dll   (bundled)
  25. php_xslt.dll XSLT functions PHP <= 4.2.0 requires sablot.dll,  expat.dll (bundled).
  26. PHP >= 4.2.1 requires sablot.dll, expat.dll,  iconv.dll (bundled).
复制代码

重启apache成功后,运行phpinfo()可以看到php5.3.3的配置信息,至此升级成功。
注意:apache和mysql的配置不需要变,只是如果php的安装目录如果改变了要记得修改apache配置文件httpd.conf中相应的配置。

原创粉丝点击