php的error_log使用
2012-08-27 16:09
176 查看
apache+php 遇到php5ts.dll错误
这两天安装apache+php时遇到php5ts.dll错误问题。经过几天折腾,终于找到原因。
一、平台
操作系统:windows 2003;
Apache:2.2.17.0,使用httpd-2.2.17-win32-x86-openssl-0.9.8o.msi安装包;
PHP:5.3.5.0,采用apache模块方式,使用php-5.3.5-Win32-VC6-x86.msi安装包。
二、安装过程
将apache安装在D盘,安装后httpd.exe成功启动。安装php,选择apache模块方式,安装在D盘完成。PHP安装后,打开apache的httpd.conf文件,在文件尾部修正配置为:
PHPIniDir "d:/program files/php/"
LoadModule php5_module "d:/program files/php/php5apache2_2.dll"
三、错误
启动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:\Windows\Temp\php-errors.log"。
于是打开C:\Windows\Temp\php-errors.log:
[14-Mar-2011 10:22:15] PHP Warning: PHP Startup: Unable to load dynamic library 'D:\Program Files\PHP\ext\php_oci8.dll' - 找不到指定的模块。
in Unknown on line 0
[14-Mar-2011 10:22:15] PHP Warning: PHP Startup: Unable to load dynamic library 'D:\Program Files\PHP\ext\php_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 Files\PHP\ext\php_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 Files\PHP\ext\php_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。
这两天安装apache+php时遇到php5ts.dll错误问题。经过几天折腾,终于找到原因。
一、平台
操作系统:windows 2003;
Apache:2.2.17.0,使用httpd-2.2.17-win32-x86-openssl-0.9.8o.msi安装包;
PHP:5.3.5.0,采用apache模块方式,使用php-5.3.5-Win32-VC6-x86.msi安装包。
二、安装过程
将apache安装在D盘,安装后httpd.exe成功启动。安装php,选择apache模块方式,安装在D盘完成。PHP安装后,打开apache的httpd.conf文件,在文件尾部修正配置为:
PHPIniDir "d:/program files/php/"
LoadModule php5_module "d:/program files/php/php5apache2_2.dll"
三、错误
启动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:\Windows\Temp\php-errors.log"。
于是打开C:\Windows\Temp\php-errors.log:
[14-Mar-2011 10:22:15] PHP Warning: PHP Startup: Unable to load dynamic library 'D:\Program Files\PHP\ext\php_oci8.dll' - 找不到指定的模块。
in Unknown on line 0
[14-Mar-2011 10:22:15] PHP Warning: PHP Startup: Unable to load dynamic library 'D:\Program Files\PHP\ext\php_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 Files\PHP\ext\php_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 Files\PHP\ext\php_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。
相关文章推荐
- PHP中使用error_log()函数来调试错误
- Php可以使用error_log()函数直接打日志并写入文件
- PHP中使用error_log()函数来调试错误
- PHP中使用error_log()函数来调试错误
- PHP中使用error_log()函数来调试错误
- PHP中error_log()函数的使用方法
- PHP中error_log()函数的使用方法
- (转载)PHP使用empty检查函数返回结果时报Fatal error: Can't use function return value in write context的问题
- PHP 使用回调函数(set_error_handler)处理异常和错误
- [Linux][PHP] Shell 命令清除error_log
- PHP使用empty检查函数返回结果时报Fatal error: Can't use function return value in write context的问题
- php.ini 配置 error_log 错误信息
- PHP 5.3 ereg() 无法正常使用,提示“Function ereg() is deprecated Error
- 探讨php中error_log函数输出内容的原子性问题
- Fatal error: Call to undefined function OCILogon() in D:\xampp\htdocs\chaxun\rbora.php on line 38
- php seaslog的使用
- 网页客户端使用php访问mysql数据时出现NetworkError: 500 Internal Server Error问题的解决方案
- php使用界定符后报 PHP Parse error: syntax error, unex...
- PHP: configure: error: mysql configure failed. Please check config.log for more information.
- 编译安装PHP出现configure: error: mysql configure failed. Please check config.log的解决方法