.net - Apache går i stykker hver anden gang PHP script er kørt ... Windows

Indlæg af Hanne Mølgaard Plasc

Problem



XAMPP installation (Apache, MySQL, PHP, Perl) kolliderer hver anden gang jeg kalder et DOTNET objekt via PHP. For eksempel prøvekode på 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
?>


Dette vil vise Hello .Net første gang, men hvis jeg opdaterer siden, går Apache ned og straks genstarter. Hvis jeg opdaterer igen, ser jeg Hello .Net. Hvis jeg genopfriske igen, gættede du det; Apache styrter .... nogen ideer? Måske skulle jeg frigive objektet på en eller anden måde?


Tak


Apache Log:


[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.


Dette viser nogle genstarter.

Bedste reference


filen kunne være


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


Opret en fil med dine kommandoer, i stedet for at ringe direkte under underopkald


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

echo $output;