[英]Including a PHP file of another server
我正在嘗試通過PHP在兩台服務器之間進行通信。 可以說,我的本地主機上有一個PHP文件“ a.php”,而在遠程服務器上有另一個PHP文件“ b.php”。 我想在a.php中包含b.php。 我正在嘗試通過包含方法來提供remore服務器“ http://ip/b.php ”的完整路徑,但是沒有任何反應。 實際上,我想從a.php文件運行腳本的一部分,然后與b.php文件通信,然后返回到a.php文件。 請指導我如何執行此操作。 我知道有人問過類似的問題,但我嘗試使用這些技術解決此問題,但徒勞無功。
謝謝
不,此設置在大多數Web服務器(php.ini)中默認為禁用/不允許,因此出於安全原因,您不能使用include包含來自遠程地址的文件。
如果仍然要允許包含遠程文件,則必須在php.ini中將指令allow_url_include設置為On。
但是,從面向安全的角度來看,這又是一個壞習慣; 因此,通常將其禁用(實際上,我從未見過啟用)
但是,如果您想讀取遠程文件的內容,則可以使用file_get_contents函數來代替,但是它將以純HTML標記代碼的形式返回,不會有任何服務器端代碼。
另一個解決方案是
例
http://ip/b.php-將此文件另存為b.txt
<?php
$filedata = file_get_contents('http://ip/b.txt');
eval ("?>$filedata");
?>
盡管這是不安全和不道德的做法,但您始終可以使用.htaccess(關閉php_flag引擎)關閉特定目錄的php。
然后,您的文件將直接作為文本文件提供給任何知道url的人。 這樣,您可以通過allow_url_include或如Mad Angle所說的get_file_contets包括它們。
但是無論哪種方式-這都是一個壞主意。 所以你可以嘗試科學:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.