Лучший способ интегрировать PHP с asp.net / asp.net-mvc
По некоторым совпадениям эта проблема возникла дважды на прошлой неделе.
У клиента есть существующий веб-сайт PHP, который они хотят сохранить. Они также имеют или скоро будут иметь некоторые веб-страницы ASP.net, которые они хотят интегрировать в существующий сайт, таким образом, чтобы он отображался как один сайт.
У нас есть следующие возможности:
- Использовать IFrame
- Скопируйте все html / меню на новый сайт и ссылку между сайтами, пользователь перемещается между сайтами, но не замечает, если он не смотрит на URL-адрес
- Используйте веб-службы для чтения информации с веб-сайта asp.net и напишите html на сайте PHP.
- Используйте WSRP (удаленные портлеты веб-служб). Попробовали это, чтобы отображать веб-сайты Sharepoint на сайте Java, не протестировали с PHP.
Кто-нибудь пробовал что-нибудь из этого? Есть лучшее предложение? Есть ли что-то, чего мы обязательно должны избегать?
Это действительно зависит от приемлемого уровня интеграции. В ваших первоначальных предложениях есть ряд проблем с ремонтопригодностью, и я бы не предложил, чтобы они использовались для публичного интернет-сайта.
Если бы у меня был полный контроль, я мог бы рассмотреть возможность переноса сайта PHP в IIS и развертывание страниц ASP.NET на сайт вместе с файлами PHP. Это может быть довольно сложно в зависимости от того, как был создан сайт PHP. Проблемы, с которыми вы могли столкнуться, включая:
- Использование mod_rewrite в приложении PHP и есть ли у вас подходящая замена в Windows. На момент написания этой статьи ситуация намного лучше, но вам может потребоваться отладить существующую конфигурацию.
- Расширения. Все ли библиотеки PHP и расширения, которые вам нужны в Windows?
- Представление. Некоторые люди сообщали о неприемлемой производительности PHP под Windows. Я уверен, что при правильной настройке производительности вы можете доставить что-то эквивалентное вашему старому сайту, если это даже проблема.
По предлагаемым вариантам
- Используйте IFrame . Это работает, но немного неуклюже. Это может оказаться проблематичным, если вам нужны такие вещи, как взаимодействие с SSL или JavaScript между базами кода.
- Связь между сайтами . Это работает, но могут быть проблемы, если SEO важен для вас. Иногда есть больше ссылок, чем просто меню, которые вам нужно учитывать.
- Используйте веб-службы для чтения страниц ASP.NET . Это действительно реально, если у вас очень простые страницы с нулевым взаимодействием или обратной связью. Если вам нужно обработать postbacks, viewstate и т. Д., У вас будут проблемы. Использование ASP.NET MVC дает вам больше контроля и более легкий опыт, интегрирующий этот способ. Мое личное мнение состоит в том, что он чрезвычайно хакерский и только то, что я сделал бы для одной страницы (если бы это было действительно важно).
- Используйте WSRP (удаленные портлеты веб-служб) . Я не уверен, что это вариант с обычным ASP.NET, я всегда думал, что это дополнительная функция с SharePoint.
Все эти варианты полностью за борт!
Простым решением было бы поддерживать решения, размещенные отдельно, Apache и IIS соответственно. И обработайте интеграцию через Routing. Проверка подлинности может быть выполнена с помощью «Cookie»
Мы обработали это недавно для клиента без проблем
Веб-интерфейс был основан на wordpress & mySQL, и весь модуль отчетности был MVC 3/4 на основе SQL Server 2008 r2.
Мы просто использовали поддомены .ie http://www.somecompany.com для сайта и reports.somecompany.com для отчетов.
Затем мы просто написали простое расширение wordpress, чтобы сохранить привязку данных, в которые содержалась соответствующая информация для создания отчетов. т.е. идентификатор руководства пользователя и тип отчета и т. д.
Оба сайта разделяют общую тему, которая несут некоторую нагрузку на обслуживание, но не более, чем обычный веб-проект. т.е. файлы MVC и PHP имеют некоторые отличия, но в целом файлы CSS были одинаковыми.
Я думаю, что мы немного настроили файл cookie, но на самом деле это было не так уж сложно, так как оба решения использовали одно и то же имя файла cookie и шифрование файлов cookie.
В целом это был довольно безболезненный интеграционный проект, поскольку большинство коммуникаций обрабатывалось посредством маршрутизации.
мы работаем в течение 6 месяцев без каких-либо проблем.
Может ли весь сайт размещаться на компьютере с Windows IIS? Поскольку IIS может обслуживать PHP-страницы, а также asp.net. Таким образом, вы можете легко смешивать и сопоставлять страницы вместе.
Другим, более «грязным» вариантом было бы использование PHP для «чтения» вывода HTML с удаленных страниц asp.net напрямую. У вас будет один файл PHP для каждой соответствующей страницы asp.net, а затем вы сможете «прочитать» его через HTTP с помощью метода file_get_contents PHP:
$content = file_get_contents('http://www.example.com/remotepage.aspx');
Вероятно, вы захотите кэшировать результаты локально, чтобы повысить эффективность.
Как мне вставить php в asp?
Сразу признаюсь что чайник в асп. Но как я понимаю асп — это технология, а не язык как таковой. Т.е. в общем то программный код — это VBScript. Но где-то в инете я прочитал, что можно использовать и любой другой язык. Как мне вставить php в asp?
Где и как мне можно бесплатно разместить гостевую.ASP
Где и как мне можно бесплатно разместить гостевую.ASP и посмотреть как она работает. Заранее.
Как вставить перловый скрипт в ASP?
Как вставить перловый скрипт в ASP <exex cgi> не работает. ХЭЛП, ПЛИЗЗ, УМИРАЮ. 🙁
Как вставить картинку из ASP в EXCEL ?
Проблема Делаю выборку из базы MSSQL. в одном из полей находится фото. Фото вывожу файлом.
Как в ASP вставить результат выполнения прогр., как SSI?
Т.е. не писать программу в самом теле страницы, у меня прога скомпилированная, результат работы её.
е знаю можно ли вставить php в качестве языка под asp, ни разу не встречал, только perl.
Однако вполне можно просто установить php под IIS и писать на нем как обычно. Естественно при этом технология asp не используется.
В том то и дело. Что необходимо использовать технологию. Заказчики требуют именно asp. А приложение уже создано на php. Не переписывать же всё приложение из php в asp. Тем более что знающие люди сказали, что ООП в asp — полный отстой (Это не я сказал).
Ну без установки php под iis не получиться однозначно а вообще если заказчику важно, чтобы файл назывался asp проблем нет после установки php главное указать в настройках, штобы для обработки asp использовался не asp.dll a php.exe или phpisapi.dll, в зависимости от типа установки php как cgi или как isapi фильтр. А вообще код php нельзя вставить в asp код в явном виде, так же как и наоборот в php вставить asp, есть только один вариант исполнять asp с помошью javascipt.
Немного не понятно — как это исполнять asp с помощью javascript. Может быть я чего то не догоняю. но ведь javascript исполняется у клиента, а asp — на сервере.
Первый вариант подошёл бы. но проблема в том что у заказчика часть ПО работает именно на asp. Я так подозреваю что либо php и asp не будут вообще работать вместе, либо будут конфликты. Хотя может я не прав. Т.е. если быть конкретным вопрос такой — может ли на сервере исполняться и asp, и php скрипты?
Исполняться php и asp одновременно могут без всяких проблем, но они будут полностью независимы друг от друга и увязать их врядли получится, разве что использовать вместо сессий cookie поскольку и тот и другой могут к ним обращатся, но это не совсем хорошо.
ну про JavaSript я написал так потому што использовал только один вариант использования совместного использования asp и php — это был просто счетчик, то есть картинка с результатами, котрые формировал asp скрипт а про совместное использование могу сказать так :
— сайт состоит из 2- страниц test.asp(на этой например новости) и test.php(а это допустим главная) в этом случае все отработает нормально
— сайт состоит из 1 страницы нужно например в test.asp инклудить test.php тут ничего не выйдет
Это хорошо, что они могут работать вместе. Связываться они будут уже через базу данных.
Спасибо за ответы
Мой совет — если требуют на ASP сделать работу — то нужно делать на ASP! А может заказчик планирует в будущем перетянуть все сделаное на Net технологию и из ASP — это сделать без проблем. А как это с РНР? Да и зачем так морочить голову ASP+PHP? Не знаешь ASP — отдай работу спецу на ASP и возьмись за другую работу, тем болеее что по РНР работы хватает.
Тебе конечно решать, но все же заказчик не слепой и может посмотреть URL загрузки страницы или спросить у специалистов и так как сделано было на РНР а требовали ASP — может и не заплатить!
И он будет прав.
Действительно из ASP можно использовать любой язык. Для этого нужно зарегистрировать этот язык как язык для Active Scripting. После этого каждая страничка ASP должна будет содержать первой строкой . Точно знаю о существовании таких Active Scripting Hosts для языков Perl и Python. Наверняка есть и для PHP.
Удачи в поисках — все ключевые слова я тебе дал.
З.Ы. В PHP Объектно-ориентированное программирование нисколько не лучше ASP-Javascript.
Как вставить текстовый файл в ASP как код.
Соственно проблема в следующем. У меня есть Жаба Скрипт, который строит дерево каталога на.
Как с помощью ASP вставить текущую дату в таблицу MS Access 97?
Как с помощью ASP вставить текущую дату в таблицу MS Access 97, если формат поля в таблице.
На PHP echo как на ASP?
На PHP echo "Sample Text"; Как будет на ASP ?
Нужно связать ASP и PHP на HTML странице
не зная asp, спрашиваю.
на asp-странице должен появляться хтмл-код, сгенеренный неким внешним php-скриптом, причем php-скрипту этот asp-скрипт должен передать некоторые параметры.
как можно связать? я вот думаю в сторону отсылки get или post запроса от asp к php, после чего asp принимает ответ от php.
это единственный путь, или есть в asp какие-то средства для реализации интерфейса с внешними источниками данных?
Как связать html и сервер ASP.net
В общем есть html файл с формой калькулятора, а на ASP должна быть вся API, вычисления и тд. как.
Связать html и php
Добрый день. Подскажите пожалуйста, как связать фаил html c php? Я уже кчу вариантов перепробывала.
Не могу связать HTML и PHP
Как сделать, чтобы после авторизации на сайте в HTML появлялся нужный код. Ну или с невидимого.
Как вывести несколько html файлов в виде ленты на одной странице asp ?
Есть много html файлов содержащих текст и картинку. Имена этих файлов идут подряд — name 0001.
ну а как бы ты делал это на php?
если отсылка параметров к php осуществляется через форму, то потом из php можно делать редирект с параметрами, типа getresult.asp?result=вася и в getresult.asp показывать этот result
если конечно параметры позволяют так делать
либо если не через форму, то можно попробовать XMLHTTP
Как получить текст с другого сайта (XMLHTTP)
http://www.relib.com/articles/article.asp?id=154
да, xmlhttp подходит. только вот я не понял, почему параметры запросом не передаются. вот как я отправляю данные:
Set oHTTP = CreateObject('MSXML2.XMLHTTP') oHTTP.Open 'GET','http://localhost/aspconn/',False oHTTP.Send 'a=123&b=567&c=890' Response.Write oHTTP.ResponseText Set oRS = Nothing Set oHTTP = Nothing %>