Php asp одном сервере

Как запустить ASP.NET и PHP на одной машине?

У меня уже работает asp.net на ПК, сейчас я установил PHP (xampp) на свою машину, но, похоже, он не работает.

Есть ли способ остановить сервер ASP.NET (у него есть специальное имя?) На моей машине? У меня есть Windows XP прямо сейчас.

РЕДАКТИРОВАТЬ: Спасибо всем вам, ребята. Я получаю сообщение об ошибке «объект не найден», но это потому, что я помещаю свои файлы php в папку wwwroot вместо htdocs (вы должны поместить свои файлы php здесь, когда используете xampp).

4 ответа

Вы должны установить PHP для IIS.

Отделите веб-сервер от того, что выполняет ваш код на минуту. То, что вы установили, это не PHP, а целый пакет, содержащий Apache (веб-сервер), PHP (выполняет ваш код PHP) и MySQL (сервер базы данных).

В Windows общим сервером, используемым для обслуживания веб-страниц, является IIS. Вы можете использовать как ASP.NET, так и PHP с IIS одновременно. Несмотря на то, что есть некоторые хаки для работы ASP.NET под Apache, я бы не рекомендовал это, так как это, вероятно, вызовет у вас больше головной боли, пытаясь заставить его работать, чем стоит.

Это означает, что вы захотите использовать IIS в качестве веб-сервера. Все, что вам нужно сделать, это установить PHP и настроить IIS, чтобы использовать его в качестве CGI-приложения для обработки. .php файлы.

Он называется Internet Information Services (IIS), и вы можете использовать IIS Manager для остановки службы или полностью удалить IIS, выбрав «Установка и удаление программ», а затем «Установка и удаление компонентов Windows».

Читайте также:  Css element on new line

Однако я считаю, что установить PHP для IIS проще, чем использовать XAMPP. Microsoft Web Platform Installer делает это действительно легко (хотя я не уверен, работает ли он на старых версиях IIS)

Источник

Могут ли PHP и ASP.Net работать вместе на одном веб-сайте в IIS 7.5?

Часть нашего сайта выполняется на PHP, и часть нашего сайта выполняется в ASP.Net. Мы просто создали новый веб-сервер с Windows Server 2008 R2, на котором установлен IIS 7.5.

Я понимаю, что IIS 7+ поддерживает PHP, но может ли PHP и ASP.Net работать бок о бок на одном веб-сайте в IIS или мне нужно будет создать один веб-сайт для страниц PHP и один веб-сайт для Страницы ASP.Net?

Вы должны иметь возможность запускать оба на одном сайте, но убедитесь, что AppPool для сайта использует «классическую» конфигурацию пула ASP.NET. По умолчанию AppPool маршрутизирует все через ASP.NET, и вы не захотите этого для своих страниц PHP.

Кроме этого, все должно быть хорошо. Строки запроса, файлы и внутренние базы данных будут лучшим способом обмена данными между страницами.

Да, вы можете использовать оба сайта на одном сайте. Поскольку расширения файлов сопоставляются с определенными внешними процессами, они вызываются независимо. Вы даже можете использовать Asp.Net для защиты файлов .php с помощью FormsAuthentication, реализуя сопоставления подстановочных знаков в IIS (я знаю, что у 6/7 есть это, не уверен около 5). Смешивание данных по ним сложно, потому что они будут иметь отдельные внешние процессы и, следовательно, отдельные сеансы. Большинство файлов cookie будут читаемы для обоих, но защищенных файлов cookie не будет.

Да, вы можете, но следите за этим:

Если у вас есть wordpress на вашем «root», а asp.net-приложения в папках под ним

(например, http://root.com/aspnetapp1/ ), и если вы будете следовать этим предложениям о «urlrewrite» для постоянных ссылок в WordPress, у вас могут возникнуть проблемы, если вы попытаетесь настроить «подстановочные знаки» в apsnetapp1.

Чтобы избежать проблем, web.config корневого приложения wordpress также должен иметь этот параметр:

Или иначе, ваш обработчик подстановки никогда не будет повышаться, потому что index.php от root поймает все ваши запросы, например: http://root.com/aspnetapp1/api/ *

Да, 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-кода. Кроме того, Phalanger предоставляет разработчикам PHP-приложений множество новых возможностей; от повышения производительности и использования современных сред, чтобы использовать уникальную интеграцию .NET.

Да, это не проблема. Даже некоторые общие хосты Windows предлагают планы PHP – Windows Hosting PHP .

ASP и PHP можно использовать на окнах. Пока они полностью разделены и не зависят друг от друга. Например, использование строк запроса (ie file.php?var=1&var2=bla) становится беспорядочным, когда вам нужно передать эти переменные в файл ASP или наоборот.

Поэтому, пока 2 системы полностью независимы друг от друга, тогда она должна работать нормально.

Вы также можете найти несовместимость с куки-файлами и сеансами . Те же могут быть переданы, но не легко.

Поддержка ASP.NET и PHP

Разрабатывайте, развертывайте и легко управляйте веб-приложениями, используя свой выбор языков. От ASP.NET до PHP IIS7 предоставляет мощную и гибкую среду веб-сервера для самых популярных веб-приложений в мире.

Я попытался поставить файл test.php (с conent: ) На существующий веб-сайт ASP.NET (используйте реальный сервер на https://somee.com ). Я знал, что ASP.NET и PHP работают вместе.

Вы можете запускать оба на одном сайте, но не сможете разговаривать друг с другом, если вы не настроите какую-то систему обмена сообщениями или не поделитесь хранилищем. Они в основном являются приложениями совершенно другого характера.

Другая возможность – вызывать код .NET с PHP:

Часть кода, написанная на 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(); 

Источник

ASP.NET and PHP On IIS Together

I got a question the other day about running both ASP.NET and PHP on the same server and whether or not it works. The short answer I gave is “Yes”. The longer answer, I’m going to give here.

In point of fact, both ASP.NET and PHP work really well on the instance of IIS. They can’t share session state but otherwise it’s a very peaceful existence.

First of all, PHP runs really well on Windows and IIS. There’s a lot of stuff that you probably didn’t know about it. Mark Brown and I did a talk about that at ZendCon – I’ll do a full write up of that talk sometime soon.

There are a ton of great resources out there for running PHP on Windows very well.

I could keep going but this post is about running both ASP.NET and PHP on the same IIS instance.

Mike Volodarsky wrote a great article on leveraging the integrated pipeline in IIS7 that included leveraging ASP.NET Forms Authentication to restrict access to a PHP application. I’m not going to rehash that entire article but rather recommend that you leverage the applications that are up in the Microsoft Web Application Gallery such as Gallery. These applications are really simple to get set up on IIS7 through the wizard style installer in the WebPI.

The first scenario that we’ll look at is a PHP application running as a subdirectory on the same server as an ASP.NET application. The first thing I’m going to do is get an ASP.NET application up and running through the Web Platform Installer (WebPI). I’m going to use BlogEngine.NET this demo. If you don’t already have the Web Platform Installer, it’s easy to install by going to http://www.microsoft.com/web/gallery/ and clicking «Install” next to any of the applications that you want to install. If you already have it installed, simply launch the Web Platform Installer, find BlogEngine.NET and start the wizard.

first

If you want the application to be the root of the web server, then on the page where it’s asking about location, clear out the ‘application name’ field. It makes sense once you see it but it took me a second the first time that I tried it. I already had all of the dependencies installed for BlogEngine.NET so the rest was just following the wizard.

second

Once BlogEngine.NET is installed, I can browse out to it and make sure that it’s all working. I can, if I want, do some configuration and change the title, skin and the like. However, that’s not the point of this little exercise so I’m going to skip it for the moment.

Now I’ve got an ASP.NET application up and running as the root of my server. Now I need to place the PHP application on the box to show them running side by side. The quick one that I want to install is Gallery which is a well known PHP application that does a good job at photo galleries. There are a number of galleries listed in the Web Application Gallery but the one that we want is “Gallery”.

Third

Again, I’m going to install the application through the WebPI. I have most of the dependencies installed already but I’m going to use SQL Server because I’ve already got one application using it, I might as well use it for the other. That’s going to require me to install the Microsoft Driver for PHP for SQL Server 2.0 and it’s associate that helps with IIS specifically. The good news is that these dependencies are selected and installed automatically by the wizard. Once the WebPI installer finishes, click “Launch Website” and finish out the installer.

At this point I’ve got BlogEngine.NET running at http://localhost and Gallery running at http://localhost/gallery proving out scenario one where PHP can run in a sub-directory under ASP.NET. The opposite is true as well but unless someone specifically requests it, I’ll assume that you can switch this example around and do it the other direction where you have a primarily PHP site with a little bit of ASP.NET running on the same server.

These different applications can share HTTP Handlers, URL Rewrite Rules, security rules (as stated in Mike’s article) and a bunch of different aspects of IIS. What they can’t share out of the box is session state. ASP.NET can store session in a number of places, including SQL Server and theoretically it’s possible to write a custom PHP session handler that would read from that same store but I haven’t tried it so I can’t guarantee that it’ll work.

In future posts, I’ll take a look at integrating HttpModules and HttpHandlers into the PHP pipeline and see how that works. In the mean time, have fun mixing and mashing technologies.

Источник

Оцените статью