我可以在兩臺服務器之間共享PHP代碼嗎?對於例如說我有一個文件A.php在server1和B.php在server2;有沒有辦法在A.php中使用B.php?這背後的目的是確保我不想公開發布的一些代碼位於我的服務器和其他服務器上,只是在需要時使用它。跨服務器分享php代碼
讓我知道如果要求似乎模糊,我會嘗試解釋任何不清楚的事情。
我可以在兩臺服務器之間共享PHP代碼嗎?對於例如說我有一個文件A.php在server1和B.php在server2;有沒有辦法在A.php中使用B.php?這背後的目的是確保我不想公開發布的一些代碼位於我的服務器和其他服務器上,只是在需要時使用它。跨服務器分享php代碼
讓我知道如果要求似乎模糊,我會嘗試解釋任何不清楚的事情。
有兩種方法可以做到這一點。
第一個是做一個遠程包括。您將包含來自遠程服務器的文件。這不會隱藏你的源代碼。您可以限制對該IP地址的訪問,但不保護您的代碼。此外這是不好的做法,並可能不安全,所以我會非常強烈建議反對它。
include 'http://serverb.com/some_file.php';
另一種可能是使用Web服務。這意味着您的遠程服務器提供了一項服務。 server1向server2發出請求,並提供server2完成操作所需的數據。 server2處理數據並生成一個響應,並將其返回給server1。 server1解析響應並做一些有趣的事情。您可以使用file_get_contents
來執行此類請求。理想情況下,您可以使用json或XML序列化輸出以便傳輸和輕鬆解析。
$response = file_get_contents('http://serverb.com/webservice.php?param1=something¶m2=something_else');
注: Web服務是緩慢的,網絡是一大瓶頸。所以你將不得不緩存結果或做類似的事情。
不,這是不可能的。運行php文件的web服務器需要能夠訪問php文件來執行它。如果您以某種方式通過網絡共享文件,但是該文件將可用於其他服務器,則可以執行此操作。
如果你想這樣做,以避免你的代碼被盜,那麼你應該尋找PHP編碼器和混淆器。
編碼器和混淆器不是我信任的東西..我真的很喜歡代碼對其他服務器是隱形的,編碼或不是..謝謝你的答案,但有助於以另一種方式思考... +1 – pinaki 2010-07-17 18:36:59
A Web服務將完成這項工作,所以它絕對有可能。 – Sylverdrag 2010-07-17 19:25:59
最好的方法是使用ioncube編碼或類似的東西來保護你的代碼。通過網絡,除非它的直接鏈接會減慢每個響應幾毫秒,並在繁忙的網站上快速發佈廣告。
我的代碼應該是爲CRM而不是任何公共網站。這些功能是這樣的,幾毫秒的延遲現在不會引起太多問題。再次感謝您的答案.. +1 – pinaki 2010-07-18 03:05:15
用於提示webservices的+1 .. – pinaki 2010-07-17 18:35:53
for include it does not work – Sam 2014-04-10 10:24:17