Allow_url_include açık ise include edebilirsiniz, ama...

Karşı sunucuda eğer PHP dosyası sunucu tarafında yorumlanıyorsa (ki bu WordPress vb. scriptlerin çalıştığı Apache, Nginx hostinglerde yorumlanır) <?php ?> şeklindeki PHP kod kısmına erişemezsiniz.

Ne demek istiyorum? http://www.example.com/dosya.php konumunda dosyamız olsun. Bu dosya içeriği şöyle olsun: <?php $str = 'String İçeriği Buraya'; print 'Hello World'; ?>

Daha sonra farklı bir sunucuda bunu include ile çekelim:
<?php
include 'http://www.example.com/dosya.php';
print($str);
?>


Burada ekrana Hello World yazıp hata verecektir (Undefined variable: str in...), çünkü dosya.php'de tanımladığımız $str değişkeni sunucu tarafında yorumlandı, ve kod çalışırken kullanıldı. Ama çıktıda bize dönmediği için include çektiğimizde çalışmadı.

Çözümler:
1.) http://www.example.com/dosya.php yerine http://www.example.com/dosya.txt şeklinde yorumlanmayacak bir formatta tutmak. (veya sunucu tarafı konfigrasyon ile php'nin yorumlanması kapatılabilir)
2.) http yerine ftp protokolünü kullanarak dosya.php'ye erişmek. (ftp://1.1.1.1:21/dizin/dosya.php tarzı)
3.) (Mantıklı Çözüm) Include kullanmak yerine uzak sunucuda bir rest api oluşturup curl ile ona istek gönderip veriyi JSON formatında almak.

Neden 3. Çözümü Kullanmalıyım?
1 ve 2. çözümde veriler herkese açık / erişilebilir durumda oluyor.