我目前正在构建数据库处理程序。在Firebird数据库之上运行PHP 5.4.16。
当我做了一个准备好的语句时,我需要用参数执行SQL。我做了这个功能:
private function assignParameters($args)
{
return call_user_func_array('ibase_execute',$args);
}
问题是当我在args中出错(没有给出预期的值)时,我希望返回给出false(错误)。发生错误时,ibase_execute
通常会返回false。
但是现在我的PHP安装(XAMPP)只是崩溃并重新启动。我尝试过使用try / catch而没有任何运气。 call_user_func_array
不会失败,但我希望它会从ibase_execute
返回结果。我很困惑。
我应该提一下,PHP / Apache错误日志中没有条目。唯一的条目是Apache2服务器已重新启动。
来自phpinfo();
的interbase配置Firebird/InterBase Support dynamic
Compile-time Client Library Version Firebird API version 25
Run-time Client Library Version WI-V6.3.2.26539 Firebird 2.5
任何想法 - 驱动程序崩溃了吗?
修改
根据Mariuz的要求,这是我在崩溃时从调试中得到的。崩溃从http进程创建两个转储报告,其中运行PHP代码。
它们都包含很多信息。要在这里倾倒多少,但这里是例外。
转储1
Exception Information
In httpd__PID__10168__Date__02_21_2014__Time_03_40_11PM__949__Second_Chance_Exception_C0000008.dmp the assembly instruction at 0x76ed12c7 which does not correspond to any known native module in the process has caused an unknown exception (0xc0000008) on thread 0
转储2
Exception Information
MSVCR80!UNWINDUPVEC+50In httpd__PID__10064__Date__02_21_2014__Time_03_40_05PM__321__Second_Chance_Exception_C0000005.dmp the assembly instruction at msvcr80!UnwindUpVec+50 in C:\Windows\winsxs\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.6195_none_d09154e044272b9a\msvcr80.dll from Microsoft Corporation has caused an access violation exception (0xC0000005) when trying to read from memory location 0x00000000 on thread 5