【发布时间】:2012-03-18 15:27:05
【问题描述】:
每次我通过 PHP 调用 DOTNET 对象时,XAMPP 安装(Apache、MySQL、PHP、Perl)都会崩溃。例如 php.net 上的示例代码
<?php
$stack = new DOTNET("mscorlib", "System.Collections.Stack");
$stack->Push(".Net");
$stack->Push("Hello ");
echo $stack->Pop() . $stack->Pop();
//$stack = NULL; tried this, with no luck
?>
这将第一次显示Hello .Net,但如果我刷新页面,Apache 崩溃并立即重新启动。如果我再次刷新,我会看到Hello .Net。如果我再次刷新,你猜对了;阿帕奇崩溃....有什么想法吗?也许我应该以某种方式释放对象?
谢谢
Apache 日志:
[2012 年 2 月 29 日星期三 00:59:44] [通知] Apache/2.2.21 (Win32) SVN/1.6.6 DAV/2 mod_ssl/2.2.21 OpenSSL/1.0.0e PHP/5.3.8 mod_perl/2.0.4 Perl/v5.10.1 已配置——恢复正常操作 [2012 年 2 月 29 日星期三 00:59:44] [通知] 服务器建成时间:2011 年 9 月 10 日 11:34:11 [Wed Feb 29 00:59:44 2012] [notice] Parent: Created child process 5156 [2012 年 2 月 29 日星期三 00:59:45] [通知] 摘要:为摘要身份验证生成密钥... [2012 年 2 月 29 日星期三 00:59:45] [通知] 摘要:完成 [Wed Feb 29 00:59:46 2012] [notice] Child 5156: Child process is running [2012 年 2 月 29 日星期三 00:59:46] [通知] 孩子 5156:获得了启动互斥锁。 [Wed Feb 29 00:59:46 2012] [notice] Child 5156:启动 150 个工作线程。 [2012 年 2 月 29 日星期三 00:59:46] [通知] 子 5156:启动线程以侦听端口 443。 [2012 年 2 月 29 日星期三 00:59:46] [通知] 子 5156:启动线程以侦听端口 443。 [2012 年 2 月 29 日星期三 00:59:46] [通知] 子 5156:启动线程以侦听端口 80。 [2012 年 2 月 29 日星期三 00:59:46] [通知] 子 5156:启动线程以侦听端口 80。 [2012 年 2 月 29 日星期三 00:59:49] [通知] 父进程:子进程退出,状态为 3221225477 -- 正在重新启动。 [2012 年 2 月 29 日星期三 00:59:50] [通知] 摘要:为摘要身份验证生成密钥 ... [2012 年 2 月 29 日星期三 00:59:50] [通知] 摘要:完成 [2012 年 2 月 29 日星期三 00:59:51] [通知] Apache/2.2.21 (Win32) SVN/1.6.6 DAV/2 mod_ssl/2.2.21 OpenSSL/1.0.0e PHP/5.3.8 mod_perl/2.0.4 Perl/v5.10.1 已配置——恢复正常操作 [2012 年 2 月 29 日星期三 00:59:51] [通知] 服务器建成时间:2011 年 9 月 10 日 11:34:11 [Wed Feb 29 00:59:51 2012] [notice] Parent: Created child process 5948 [Wed Feb 29 00:59:51 2012] [notice] 摘要:为摘要身份验证生成密钥... [2012 年 2 月 29 日星期三 00:59:51] [通知] 摘要:完成 [Wed Feb 29 00:59:52 2012] [notice] Child 5948: Child process is running [2012 年 2 月 29 日星期三 00:59:52] [通知] 孩子 5948:获得了启动互斥锁。 [Wed Feb 29 00:59:52 2012] [notice] Child 5948:启动 150 个工作线程。 [Wed Feb 29 00:59:52 2012] [notice] Child 5948:启动线程以侦听端口 443。 [2012 年 2 月 29 日星期三 00:59:52] [通知] 子 5948:启动线程以侦听端口 80。 [2012 年 2 月 29 日星期三 00:59:52] [通知] 子 5948:启动线程以侦听端口 80。 [Wed Feb 29 00:59:52 2012] [notice] Child 5948:启动线程以侦听端口 443。 [2012 年 2 月 29 日星期三 00:59:55] [通知] 父进程:子进程退出,状态为 3221225477 -- 正在重新启动。 [Wed Feb 29 00:59:55 2012] [notice] 摘要:为摘要身份验证生成密钥... [2012 年 2 月 29 日星期三 00:59:55] [通知] 摘要:完成 [2012 年 2 月 29 日星期三 00:59:57] [通知] Apache/2.2.21 (Win32) SVN/1.6.6 DAV/2 mod_ssl/2.2.21 OpenSSL/1.0.0e PHP/5.3.8 mod_perl/2.0.4 Perl/v5.10.1 已配置——恢复正常操作 [2012 年 2 月 29 日星期三 00:59:57] [通知] 服务器建成时间:2011 年 9 月 10 日 11:34:11 [Wed Feb 29 00:59:57 2012] [notice] Parent: Created child process 4596 [2012 年 2 月 29 日星期三 00:59:58] [通知] 摘要:为摘要身份验证生成密钥 ... [2012 年 2 月 29 日星期三 00:59:58] [通知] 摘要:完成 [Wed Feb 29 00:59:59 2012] [notice] Child 4596: Child process is running [2012 年 2 月 29 日星期三 00:59:59] [通知] 孩子 4596:获得了启动互斥锁。 [Wed Feb 29 00:59:59 2012] [notice] Child 4596:启动 150 个工作线程。 [2012 年 2 月 29 日星期三 00:59:59] [通知] 子 4596:启动线程以侦听端口 443。 [2012 年 2 月 29 日星期三 00:59:59] [通知] 子 4596:启动线程以侦听端口 80。 [2012 年 2 月 29 日星期三 00:59:59] [通知] 子 4596:启动线程以侦听端口 443。 [2012 年 2 月 29 日星期三 00:59:59] [通知] 子 4596:启动线程以侦听端口 80。这显示了几次重新启动。
【问题讨论】:
-
什么是php版本?
-
虽然我没有使用 XAMPP,但我无法复制崩溃。你的 apache 日志说什么了吗?
-
我正在运行 PHP 5.3.8、Apache 2.2.21
-
直接通过php执行会返回同样的问题吗?即命令提示符:
php.exe /path/to/file.php