日期:2014-05-17  浏览次数:20965 次

apache+php环境,时遇到php5ts.dll错误
在学校搭建apache+php+mysql环境,时遇到php5ts.dll错误问题。
一、平台
操作系统:windows 2003 Enterprice.
Apache:2.2.20,安装包使用httpd-2.2.17-win32-x86-on_ssl.msi.
PHP:5.2.17,采用apache模块方式,安装包使用php-5.2.17-Win32-VC6-x86.msi.
Mysql: 5.0.51a,已经安装.

二、安装
按常规将apache安装在d:/program files,安装后httpd.exe成功启动。
按常规将php安装在d:/program files,选择apache模块方式。
安装后,打开apache的httpd.conf文件,找到
PHPIniDir ""
LoadModule php5_module php5apache2_2.dll
改为:
PHPIniDir "d:/program files/php/"
LoadModule php5_module "d:/program files/php/php5apache2_2.dll"

三、错误
用apachemonitor启动apache2.2时,出现错误。
打开apache2.2/logs/error.log, 显示记录为:
[warn] pid file D:/Program Files/Apache Software Foundation/Apache2.2/logs/httpd.pid overwritten -- Unclean shutdown of previous Apache run?
处理:
1,重启服务器,重启apache -- 相同错误
2,打开apache的httpd.conf文件,注释php配置,重启apache -- 可以启动

打开Windows的事件查看器/应用程序中显示为:
错误应用程序 httpd.exe,版本 2.2.20.0,错误模块 php5ts.dll,版本 5.2.17.17,错误地址 0x000f424c。
处理:
dll常规错误的处理,path路径中没有其他php.ini, 没有发现问题。

打开C:\Windows\Temp\php-errors.log,没有错误提示!!

再次回到php.ini中,将所有扩展模块注释掉:
[PHP_CURL]
;extension=php_curl.dll
[PHP_GD2]
;extension=php_gd2.dll
[PHP_MBSTRING]
;extension=php_mbstring.dll
[PHP_MYSQL]
;extension=php_mysql.dll
[PHP_MYSQLI]
;extension=php_mysqli.dll
重新启动apache,成功。

逐个开启扩展模块,重新启动apache.
发现开启php_mysql.dll出错.

看情况,应该是php调用mysql模块出错。通过命令行操作mysql完成正常。最后怀疑是版本问题,重装底版本的php问题解决。