2012-02-29 150 views
0

XAMPP安装(Apache,MySQL,PHP,Perl)每隔一段时间都会通过PHP调用DOTNET对象。例如在php.netApache每隔一段时间崩溃PHP脚本运行... Windows

<?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第一次,但如果我刷新页面阿帕奇崩溃,并立即重启。如果我再次刷新,我看到Hello .Net。如果我再次刷新,你猜对了; Apache崩溃....任何想法?也许我应该以某种方式释放对象?

感谢

Apache日志:

 
[Wed Feb 29 00:59:44 2012] [notice] 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 configured -- resuming normal operations 
[Wed Feb 29 00:59:44 2012] [notice] Server built: Sep 10 2011 11:34:11 
[Wed Feb 29 00:59:44 2012] [notice] Parent: Created child process 5156 
[Wed Feb 29 00:59:45 2012] [notice] Digest: generating secret for digest authentication ... 
[Wed Feb 29 00:59:45 2012] [notice] Digest: done 
[Wed Feb 29 00:59:46 2012] [notice] Child 5156: Child process is running 
[Wed Feb 29 00:59:46 2012] [notice] Child 5156: Acquired the start mutex. 
[Wed Feb 29 00:59:46 2012] [notice] Child 5156: Starting 150 worker threads. 
[Wed Feb 29 00:59:46 2012] [notice] Child 5156: Starting thread to listen on port 443. 
[Wed Feb 29 00:59:46 2012] [notice] Child 5156: Starting thread to listen on port 443. 
[Wed Feb 29 00:59:46 2012] [notice] Child 5156: Starting thread to listen on port 80. 
[Wed Feb 29 00:59:46 2012] [notice] Child 5156: Starting thread to listen on port 80. 
[Wed Feb 29 00:59:49 2012] [notice] Parent: child process exited with status 3221225477 -- Restarting. 
[Wed Feb 29 00:59:50 2012] [notice] Digest: generating secret for digest authentication ... 
[Wed Feb 29 00:59:50 2012] [notice] Digest: done 
[Wed Feb 29 00:59:51 2012] [notice] 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 configured -- resuming normal operations 
[Wed Feb 29 00:59:51 2012] [notice] Server built: Sep 10 2011 11:34:11 
[Wed Feb 29 00:59:51 2012] [notice] Parent: Created child process 5948 
[Wed Feb 29 00:59:51 2012] [notice] Digest: generating secret for digest authentication ... 
[Wed Feb 29 00:59:51 2012] [notice] Digest: done 
[Wed Feb 29 00:59:52 2012] [notice] Child 5948: Child process is running 
[Wed Feb 29 00:59:52 2012] [notice] Child 5948: Acquired the start mutex. 
[Wed Feb 29 00:59:52 2012] [notice] Child 5948: Starting 150 worker threads. 
[Wed Feb 29 00:59:52 2012] [notice] Child 5948: Starting thread to listen on port 443. 
[Wed Feb 29 00:59:52 2012] [notice] Child 5948: Starting thread to listen on port 80. 
[Wed Feb 29 00:59:52 2012] [notice] Child 5948: Starting thread to listen on port 80. 
[Wed Feb 29 00:59:52 2012] [notice] Child 5948: Starting thread to listen on port 443. 
[Wed Feb 29 00:59:55 2012] [notice] Parent: child process exited with status 3221225477 -- Restarting. 
[Wed Feb 29 00:59:55 2012] [notice] Digest: generating secret for digest authentication ... 
[Wed Feb 29 00:59:55 2012] [notice] Digest: done 
[Wed Feb 29 00:59:57 2012] [notice] 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 configured -- resuming normal operations 
[Wed Feb 29 00:59:57 2012] [notice] Server built: Sep 10 2011 11:34:11 
[Wed Feb 29 00:59:57 2012] [notice] Parent: Created child process 4596 
[Wed Feb 29 00:59:58 2012] [notice] Digest: generating secret for digest authentication ... 
[Wed Feb 29 00:59:58 2012] [notice] Digest: done 
[Wed Feb 29 00:59:59 2012] [notice] Child 4596: Child process is running 
[Wed Feb 29 00:59:59 2012] [notice] Child 4596: Acquired the start mutex. 
[Wed Feb 29 00:59:59 2012] [notice] Child 4596: Starting 150 worker threads. 
[Wed Feb 29 00:59:59 2012] [notice] Child 4596: Starting thread to listen on port 443. 
[Wed Feb 29 00:59:59 2012] [notice] Child 4596: Starting thread to listen on port 80. 
[Wed Feb 29 00:59:59 2012] [notice] Child 4596: Starting thread to listen on port 443. 
[Wed Feb 29 00:59:59 2012] [notice] Child 4596: Starting thread to listen on port 80. 

这显示了一些重新启动。

+0

是否使用[PHP作为偶然CGI?](https://开头bugs.php.net/bug.php?id=53140) – 2012-02-29 05:44:57

+0

不,这不是CGI – 2012-02-29 05:45:51

+0

什么是PHP版本? – 2012-02-29 05:50:05

回答

1

文件可能是

$stack = new DOTNET("mscorlib", "System.Collections.Stack"); 
$stack->Push(".Net"); 

创建的,而不是直接调用下面用电话与您的命令的文件,

$output = exec("php dotnet.php"); 

echo $output;