[英]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.