【问题标题】:crash when using windows platform 5.3.8 PHP 's function DOTNET()使用 windows 平台 5.3.8 PHP 的函数 DOTNET() 时崩溃
【发布时间】:2012-05-18 01:48:33
【问题描述】:

我在 windows server 2008 上使用 IIS 7 运行 PHP 5.3.8 非线程安全版本。我有以下代码

<?php
echo "Started..<br/>";

$outStr = "";
 $stack = new DOTNET("mscorlib", "System.Collections.Stack");
 $stack->Push(".Net");
 $stack->Push("Hello ");
 echo $stack->Pop() . $stack->Pop();
 echo "<br/>".$_SERVER['REQUEST_TIME']."<br/>";
?>

它每隔一段时间就会崩溃(工作,崩溃,工作,崩溃,....等)。 向网络浏览器报告的错误是:

HTTP 错误 500.0 - 内部服务器错误 c:\php\php-cgi.exe - FastCGI 进程意外退出

我尝试了其他 .net 程序集(我用 C# 编写)并获得了相同的崩溃行为(每隔一次)。

请帮忙。

我正在使用 .net 4 。在我的 c:\php 目录中,我有一个 php-cgi.exe.config 文件,如下所示:

<?xml version="1.0"?>
<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
  </startup>
</configuration>

但即使使用 .net 3.5,我也会遇到相同的崩溃行为。

如果我在命令行中按以下方式运行 php 脚本,它似乎每次都能正常工作,但我真的需要我的 php web 应用程序在没有崩溃的情况下工作(我没有 php.exe.config .. none)

\php\php.exe  testscript.php

【问题讨论】:

  • 您能描述一下您使用 .NET 做什么吗?您给出的示例可以替换为\SplStack
  • OTOH,您已经在 C# 中编写了其中的一部分并在 IIS/Windows 中运行。这是从 ASP.NET 迁移到 PHP,还是相反?
  • 我正在使用一个现有的 C# 项目,它有一个对现有 php 站点有用的库。我正在尝试将它们整合在一起。

标签: c# php .net iis fastcgi


【解决方案1】:

此行为似乎是一个已知错误: https://bugs.php.net/bug.php?id=53140&edit=1

【讨论】:

  • mmmm,是的,其实OP的代码是从bug报告中复制过来的
猜你喜欢
  • 2013-05-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-06
  • 2011-08-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多