3150浏览量

apache+php 遇到php5ts.dll错误

来源: 时间:2014-01-03
启动httpd时,出现错误。查看日志。apache的error.log中记录为:

[warn] pid file D:/Program Files/Apache Software Foundation/Apache2.2/logs/httpd.pid overwritten -- Unclean shutdown of previous Apache run?


Windows的事件查看器/应用程序中显示为:

Application Error中事件详细信息:错误应用程序httpd.exe,版本2.2.17.0,错误模块php5ts.dll,版本t5.3.5.0,错误地址0x000e890c。


上网查了一翻,涉及php5ts.dll错误的处理,一类是因为PHP只能使用自身版本的dll,如果出现因为系统路径变量的原因,导致其他版本的dll先行引用,则出现错误。针对此类错误,或是删除其他版本dll;或修改系统PATH变量,将PHP的放在前面;或将PHP的dll放到系统的System32目录下。不过,我的路径没有问题,PATH变量中PHP的安装目录还在System32前,也没有其他版本的php5ts.dll。前前后后试了多个安装版本,都无法解决问题。


一:
最后再次查看php.ini文件,发现一个配置:
error_log="C:WindowsTempphp-errors.log"。
于是打开C:WindowsTempphp-errors.log:
[14-Mar-2011 10:22:15] PHP Warning:  PHP Startup: Unable to load dynamic library 'D:Program FilesPHPextphp_oci8.dll' - 找不到指定的模块。
in Unknown on line 0
[14-Mar-2011 10:22:15] PHP Warning:  PHP Startup: Unable to load dynamic library 'D:Program FilesPHPextphp_oci8_11g.dll' - 找不到指定的模块。
in Unknown on line 0
[14-Mar-2011 10:22:15] PHP Warning:  PHP Startup: Unable to load dynamic library 'D:Program FilesPHPextphp_pdo_oci.dll' - 找不到指定的模块。
in Unknown on line 0
[14-Mar-2011 10:22:15] PHP Warning:  PHP Startup: Unable to load dynamic library 'D:Program FilesPHPextphp_sybase_ct.dll' - 找不到指定的模块。
in Unknown on line 0
接下来,再次回到php.ini中,将上面4个模块注释掉:
[PHP_OCI8]
;extension=php_oci8.dll
[PHP_OCI8_11G]
;extension=php_oci8_11g.dll
[PHP_PDO_OCI]
;extension=php_pdo_oci.dll
[PHP_SYBASE_CT]
;extension=php_sybase_ct.dll

重新启动apache,成功。


二、小结
我安装PHP时,选择了完全安装。估计是完全安装也没有安装相关的dll模块,而php.ini中又引用这几个模块,从而导致httpd.exe启动时,引用php出错,而出错信息显示成php5ts.dll。因此,建议遇到php5ts.dll错误时,不妨查看一下php的error_log。

联系我们

一次需求提交或许正是成就一个出色产品的开始。
欢迎填写表格或发送合作邮件至: qczsky@126.com

大理青橙科技

电话:13988578755 13988578755

邮箱:qczsky@126.com

地址:大理市下关龙都春天10层

如果您无法识别验证码,请点图片更换