[英]Best way to integrate PHP with asp.net / asp.net-mvc
碰巧的是,这个问题在上周两次出现。
客户拥有要保留的现有PHP网站。 他们还拥有或即将拥有一些ASP.net网页,希望将它们集成到现有站点中,以使其显示为单个站点。
但是,我们有以下几种可能性:
有人尝试过这些吗? 有更好的建议吗? 有什么我们应该绝对避免的吗?
谢谢
西拉
这实际上取决于可接受的集成水平。 您最初的建议在可维护性方面存在许多问题,我不建议将其用于面向公众的互联网站点。
如果可以完全控制,我可能会考虑将PHP网站迁移到IIS,并将ASP.NET页面与PHP文件一起部署到该网站。 根据PHP网站的构建方式,这可能非常棘手。 您可能会遇到的问题包括:
在您建议的选项上
所有这些选择都太过分了!
一个简单的解决方案是将解决方案分别托管在Apache和IIS中。 并通过路由处理集成。 可以使用“ Cookie”来处理身份验证
我们最近为没有问题的客户处理了此问题
Web前端基于wordpress和mySQL,整个报告模块是基于SQL Server 2008 r2的MVC 3/4。
我们仅将子域名.ie www.somecompany.com用于网站,将reports.somecompany.com用于报告。
然后,我们只是编写了一个简单的wordpress扩展名,用于存储包含相关信息的链接数据以创建报告。 即用户的Guid ID和报告类型等。
实际上,这实际上只是向用户显示了一个页面,其中包含一些可以运行的报告选项-超链接<a href="http://reports.somecompanyurl.com/bill/{some guid}>You Monthly Bill</a>
即每月帐单
这两个站点共享一个共同的主题,这确实带来了一定的维护负担,但是只不过是一个普通的Web项目而已。 即.. MVC和PHP主题文件确实有一些区别,但是通常CSS文件是相同的。
我认为我们确实对cookie进行了一些自定义,但这并不是什么难事,因为两种解决方案都使用相同的cookie名称和cookie加密。
总体而言,这是一个相当轻松的集成项目,因为大多数通信都是通过路由进行的。
我们已经运行了6个月,没有任何问题。
可以将整个站点托管在运行IIS的Windows计算机上吗? 因为IIS可以提供PHP页面以及asp.net。 这样,您可以无缝地将页面混合和匹配在一起。
另一个更“肮脏”的选择是使用PHP直接从远程asp.net页“读取” HTML输出。 每个对应的asp.net页都有一个PHP文件,然后可以使用PHP的file_get_contents
方法通过HTTP“读取”它:
$content = file_get_contents('http://www.example.com/remotepage.aspx');
您可能希望将结果缓存在本地以提高效率。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.