web-dev-qa-db-ja.com

PHPとASP.Netは、同じWebサイト内でIIS 7.5?

サイトの一部はPHPで行われ、サイトの一部はASP.Netで行われます。WindowsServer 2008 R2を使用して、IIS 7.5がインストールされています。

IIS 7+はPHPをサポートしていますが、PHPとASP.NetはIISの単一のWebサイト内で並行して実行できます。 PHPページ用に1つのWebサイトとASP.Netページ用に1つのWebサイトをセットアップする必要がありますか?

27
Aaron

同じサイトで両方を実行できるはずですが、サイトのAppPoolが「クラシック」ASP.NETプール構成を実行していることを確認してください。デフォルトのAppPoolはASP.NETを介してすべてをルーティングしますが、PHPページの場合、これは必要ありません。

それ以外は、大丈夫です。クエリ文字列、ファイル、およびバックエンドデータベースは、ページ間でデータを共有する最良の方法です。

23
Cylon Cat

はい、同じWebサイトで両方を使用できます。ファイル拡張子は特定の外部プロセスにマップされるため、独立して呼び出されます。 Asp.Netを使用して、IIS(6/7にはこれがありますが、5についてはわかりません)内でワイルドカードマッピングを実装することにより、FormsAuthenticationで.phpファイルを保護できます。ほとんどのCookieは両方で読み取れますが、セキュリティで保護されたCookieは読み取れません。

10
Joel Etherton

はい、できますが、これには注意してください。

「ルート」にwordpressがあり、その下のフォルダーにasp.netアプリがある場合

(例 http://root.com/aspnetapp1/ )、そして これらの提案 をワードプレスのパーマリンクの "urlrewrite"について従えば、試してみると問題が発生する可能性があります。 apsnetapp1で「ワイルドカードハンドラ」を設定します。

問題を回避するには、wordpressルートアプリのweb.configにもその設定が必要です。

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

または、rootからのindex.phpが次のようなURLへのすべてのリクエストをキャッチするため、ワイルドカードハンドラーは発生しません。 http://root.com/aspnetapp1/api/ *

3
foxontherock

はい、PHPはASP.NET 3.5/4.0にシームレスに実装できます

http://phalanger.codeplex.com/ (または http://www.php-compiler.net/ )に移動し、Phalangerの最新バージョンをダウンロードします。 Visual Studioにインストールしてください。

Phalanger – PHP .NET用コンパイラ

Phalangerへようこそ–フル機能のPHPランタイムおよび.NET/Monoフレームワークのコンパイラ。Phalangerは、PHPの最新のオープンソース実装であり、既存のPHP code。さらに、Phalangerは、PHPアプリケーション開発者に、パフォーマンスの向上や最新の環境の使用から、シームレスでユニークな.NET統合の活用まで、多くの新しい可能性を提供します。

1
Apache

はい、問題ありません。一部のWindows共有ホストでも、PHPプラン-Windows Hosting PHPを提供しています。

1
Wazy

ASP.NETおよびPHPサポート

選択した言語を使用して、Webアプリケーションを開発、展開、および簡単に管理します。 IIS7は、ASP.NETからPHPまで、世界で最も人気のあるWebアプリケーションに強力で柔軟なWebサーバー環境を提供します。

(ソース: http://www.iis.net/overview/choice/aspnetandphpsupport

_test.php_ファイル(conent:<?php phpinfo(); ?>)を既存のASP.NET Webサイト( https://somee.com の実サーバーを使用)に配置しようとしました。 ASP.NETとPHPが連動していることを知っていました。

続きを読む:
http://www.w3schools.com/aspnet/webpages_php.asp
https://technet.Microsoft.com/en-us/library/hh994592.aspx

0
Do Nhu Vy

[〜#〜] asp [〜#〜]および[〜#〜] php [〜#〜]は、Windowsボックスで使用できます。それらが完全に分離されていて、互いに依存していない限り。たとえば、クエリ文字列(i.e file.php?var=1&var2=bla)これらの変数をASPファイルに転送する必要がある場合、またはその逆の場合に必要です。

したがって、2つのシステムが互いに完全に独立している限り、正常に機能するはずです。

また、cookiesおよびsessionsとの非互換性が見つかる場合があります。それらも合格できますが、簡単ではありません。

0
Wazy

両方を同じサイトで実行できますが、何らかのメッセージングシステムをセットアップしたり、ストレージを共有したりしない限り、互いに対話することはできません。これらは基本的に完全に異なる性質のアプリケーションです。

別の可能性は、PHPから.NETコードを呼び出すことです。

次のようなC#で記述されたコードの一部:

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);

PHPでは次のようになります。

$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();

から:

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

0
davidbcn