2012-02-29 139 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;