it-swarm.com.de

Können PHP und ASP.Net laufen zusammen auf derselben Website in IIS 7,5?

Ein Teil unserer Website befindet sich in PHP und ein Teil unserer Website befindet sich in ASP.Net. Wir haben gerade einen neuen Webserver mit Windows Server 2008 R2 eingerichtet, auf dem IIS 7.5 installiert ist.

Ich verstehe, dass IIS 7+ PHP unterstützt, aber PHP und ASP.Net auf einer einzigen Website in IIS nebeneinander ausgeführt werden können PHP -Seiten und eine Website für die ASP.Net-Seiten?

25
Aaron

Sie sollten in der Lage sein, beide auf derselben Site auszuführen. Stellen Sie jedoch sicher, dass der AppPool für die Site eine "klassische" ASP.NET-Poolkonfiguration ausführt. Der Standard-AppPool leitet alles über ASP.NET weiter, und Sie möchten dies nicht für Ihre PHP -Seiten.

Ansonsten sollte es dir gut gehen. Abfragezeichenfolgen, Dateien und Back-End-Datenbanken sind die beste Möglichkeit, Daten zwischen Seiten auszutauschen. 

21
Cylon Cat

Ja, Sie können beide auf derselben Website verwenden. Da die Dateierweiterungen bestimmten externen Prozessen zugeordnet sind, werden sie unabhängig voneinander aufgerufen. Sie können Asp.Net sogar verwenden, um .php-Dateien mit FormsAuthentication zu schützen, indem Sie Platzhalterzuordnungen in IIS implementieren (ich weiß, dass 6/7 dies haben, nicht sicher über 5). Das Mischen von Daten ist schwierig, da sie getrennte externe Prozesse und damit getrennte Sitzungen haben. Die meisten Cookies können von beiden gelesen werden, gesicherte Cookies jedoch nicht.

8
Joel Etherton

Ja kannst du, aber pass auf:

Wenn Sie ein WordPress auf Ihrem "root" haben, und asp.net-Apps in Ordnern darunter 

(zB http://root.com/aspnetapp1/ ), und wenn Sie diesen Vorschlägen über "urlrewrite" für Permalinks in WordPress folgen, können Sie Probleme beim Konfigurieren haben. " Platzhalterhandler "in der apsnetapp1.

Um Probleme zu vermeiden, muss die web.config der WordPress-Root-App auch über diese Einstellung verfügen: 

    <location path="." inheritInChildApplications="false"> 
    <system.webServer>
...
    </system.webServer>
</location>

Andernfalls wird Ihr Platzhalter-Handler niemals erhöht, da index.php von root alle Ihre Anfragen an die URL wie folgt abfängt: http://root.com/aspnetapp1/api/ *

3
foxontherock

Ja, PHP kann nahtlos in ASP.NET 3.5/4.0 implementiert werden

Gehen Sie zu http://phalanger.codeplex.com/ (oder http://www.php-compiler.net/ ) und laden Sie die neueste Version von Phalanger herunter. Installieren Sie in Visual Studio und voila!

Phalanger - der PHP Compiler für .NET

Willkommen bei Phalanger - voll funktionsfähige PHP -Laufzeit und Compiler für .NET/Mono-Frameworks. Phalanger ist eine moderne Open-Source-Implementierung von PHP, kompatibel mit der großen Auswahl an vorhandenem PHP Code. Im Zusätzlich gibt Phalanger den Entwicklern von PHP-Anwendungen eine Menge neuer Möglichkeiten; von der Verbesserung der Leistung und der Verwendung moderner Umgebungen, um die nahtlose, einzigartige .NET-Integration zu nutzen.

1
Apache

Unterstützung von ASP.NET und PHP

Entwickeln, Bereitstellen und Verwalten von Webanwendungen mit Ihrer Wahl von Sprachen. Von ASP.NET bis PHP bietet IIS7 ein leistungsfähiges und flexible Web-Server-Umgebung für das weltweit beliebteste Web Anwendungen.

(Quelle: http://www.iis.net/overview/choice/aspnetandphpsupport )

Ich habe versucht, eine test.php-Datei (mit Conent: <?php phpinfo(); ?>) auf die vorhandene ASP.NET-Website zu stellen (verwenden Sie einen echten Server unter https://somee.com ). Ich wusste, dass ASP.NET und PHP zusammenarbeiten.

Weiterlesen: 
http://www.w3schools.com/aspnet/webpages_php.asp
https://technet.Microsoft.com/de-de/library/hh994592.aspx

0
foobarfuu

ASPundPHPkönnen auf Windows-Boxen verwendet werden. Solange sie völlig getrennt sind und nicht voneinander abhängig sind. Die Verwendung von Abfragezeichenfolgen (i.e file.php?var=1&var2=bla) wird beispielsweise unübersichtlich, wenn Sie diese Variablen in die Datei ASP übertragen müssen oder umgekehrt.

Solange die beiden Systeme völlig unabhängig voneinander sind, sollte dies einwandfrei funktionieren.

Möglicherweise finden Sie auch eine Inkompatibilität mit cookies und sessions . Auch diese können aber nicht ohne weiteres übergangen werden.

0
Wazy

Sie können beide auf derselben Site ausführen, können jedoch nur dann miteinander sprechen, wenn Sie ein Messagingsystem einrichten oder Speicher freigeben. Grundsätzlich handelt es sich um Anwendungen ganz unterschiedlicher Natur.

Eine andere Möglichkeit ist, Ihren .NET-Code von PHP aus aufzurufen:

Ein in C # geschriebener Code wie dieser:

string javascript = "";
Microsoft.Ajax.Utilities.Minifier m = new Microsoft.Ajax.Utilities.Minifier();
Microsoft.Ajax.Utilities.CodeSettings settings = new Microsoft.Ajax.Utilities.CodeSettings();
settings.OutputMode = Microsoft.Ajax.Utilities.OutputMode.SingleLine;
settings.PreserveFunctionNames = false;
string minified = m.MinifyJavaScript(javascript, settings);

Wird auf PHP so aussehen:

$minifier = netMinifier::Minifier_Constructor();
$settings = netCodeSettings::CodeSettings_Constructor();
$csssettings = \ms\Microsoft\Ajax\Utilities\netCssSettings::CssSettings_Constructor();
$settings->OutputMode(\ms\Microsoft\Ajax\Utilities\netOutputMode::SingleLine());
$settings->PreserveFunctionNames(FALSE);
$settings->QuoteObjectLiteralProperties(TRUE);
$result = $minifier->MinifyStyleSheet($css, $csssettings, $settings)->Val();

Von:

http://www.drupalonwindows.com/de/blog/calling-net-framework-and-net-assemblies-php

0
davidbcn

Ja, das wird kein Problem sein. Sogar einige Windows Shared Hosts bieten PHP Pläne an - Windows Hosting PHP.

0
Wazy