Eğer PHP’de

<?php
include('http://www.deneme.com/conf.php');
?>

gibi bir işlem yaptığınız zaman başlıktaki hatayı alırsınız. PHP5’de varsayılan olarak include fonksiyonunda uzak dosyalarını, URL adreslerini kullanamazsınız.

Bunu çözmek için php.ini dosyasında allow_url_open değerini on yapmalısınız. Tabii ki buna izin vermeniz güvenlik açığına neden olacaktır. Alternatif olarak şunları kullanabilirsiniz;

<?php
include(./conf.php); // kodun çalıştığı dizinde conf.php dosyasını arar.
?>
<?php
include(../conf.php); // kodun çalıştığı dizinini üstündeki dizinde conf.php dosyasını arar.
?>
<?php
$dosya = file_get_contents('http://www.deneme.com/conf.php'); //conf.php dosyasının içeriğini değişkene aktarır.

echo $dosya; //dosyanın içeriğini yazdırıyoruz.
?>
<?php
include $_SERVER['DOCUMENT_ROOT'] . '/conf.php'; //En iyi çözüm...
?>

Sanal Adresleme, tek bir web sunucusu üzerinde birden fazla sitenin hizmet vermesi amacıyla kullanılır.
Apache web sunucusunda iki tip sanal adresleme vardır. İsme Dayalı ve Adrese Dayalı sanal adresleme, birincisinde her site ayrı bir ip adresinden sunulurken, ikincisinde bir ip adresinde birden fazla site sunulur.

Bir tarayıcı, bir kullanıcının istediği belgeyi almaya çalışırken ilk olarak girilen alan adını bir alan adı sunucusu (Domain Name Server – DNS) yardımıyla IP ye dönüştürür. Daha sonra isteğe orjinal alan adını da ekleyerek ilgili IP ye yollar. Eğer Apache web sunucusunda herhangi bir sanal sunucu tanımlı değilse belgeyi doğrudan ana sunucunun DocumentRoot dizininden alır. Eğer bir sanal sunucu tanımlıysa isteği, tüm tanımlı sanal sunucularla karşılaştırır ve Virtual Host tanımlamalarında ki ServerName alanı ile eşleşen ilk blok işletilir.

Okumaya devam et