Devi abilitare l'include remoto in php.ini, in ogni caso non potresti fare ciò che intendi.
Prova a pensare se si potesse includere un file in questo modo da un altro sito: basterebbe includere un file che effettua una conessione ad un database per avere accesso a quel database remoto, o per ottenere accesso a qualunque variabile di qualunque sistema, addirittura si potrebbe ricavare l'intero script php.
L'include remoto scrive smplicemnte l'output del file che, di fatto, viene processato interamente sul server remoto.
Mi spiace, ma dovrai trovare un altro modo. Al limite ti consiglio di cambiare l'estensione del file remoto da .php a .txt (o altro). Poi, invece di include, usi fopen, per aprire e recuperare il contenuto del file(che è un codice php). A questo punto con la funzione eval, esegui come codice php la stringa del contenuto.
Puoi fare una cosa del genere:
file .txt remoto
Codice PHP:
<?php
//funzione di esempio
function f($var)
{
echo 'Uso una funzione con un argomento: '.$var.'
';
}
?>
file .php che effettua l'inclusione
Codice PHP:
<?php
//file da includere
$includi = "http://sitoremoto.com/filedaincludere.php";
//apro il file in modalità lettura
$collegamento = fopen($includi, "r");
//Leggo il contenuto
$contenuto = fread($collegamento, filesize($includi));
//chiudo il file
fclose($collegamento);
//Il contenuto del file è lo script da includere
$script = $contenuto;
//eseguo lo script
eval($script);
//prova:
f("argomento");
?>
L'unico dietto di qusto sistema è la sicurezza: in quanto file .txt, chiunque può accedere al tuo script mediante un smeplice browser. Potresti però anche proteggere il tuo script richiedendo una passowrd, anch se questo richiederebbe una sorta di file "ponte", che restituisca il file solo se gli venga fornita la password corretta.
ecco un esempio:
prova.php(file .php remoto da includere (in quanto .php è inaccessibile in remoto))
Codice PHP:
<?php
//funzione di esempio
function f($var)
{
echo 'Uso una funzione con un argomento: '.$var.'
';
}
?>
ponte.php(Il file, che, ricevuta una passoword, invierà lo script richiesto da includere)
Codice PHP:
<?php
//Recupero il nome del file da inviare
$file = $_GET['file'];
//Recupero la password inviata dal richiedente
$pwd = $_GET['pwd'];
//Recupero il contenuto del file da inviare
$includi = $file;
//apro il file in modalità lettura
$collegamento = fopen($includi, "r");
//Leggo il contenuto
$contenuto = fread($collegamento, filesize($includi));
//chiudo il file
fclose($collegamento);
//confronto la password richiesta con quella corretta
$password = "password123";
if($pwd == $password)
{
//Se le password corrispondono scrivo in output lo script richiesto
echo $contenuto;
}else{
//Altrimenti faccio in modo che il file, una volta eseguito dia un messaggio di errore
$errore = "Accesso a questo file riservato! Inserisci la password corretta.";
echo "echo '{$errore}';";
}
?>
includo.php(file .php che effettua l'inclusione)
Codice PHP:
<?php
//file ponte, che in caso gli venga fornita la password corretta via get, ritorna lo script del file richiesto, sempre via get
$daIncludre="prova.php";
$passoword = "password123";
$includi = "http://sitoremoto.com/ponte.php?file={$daIncludere}&pwd={$password}";
//apro il file in modalità lettura
$collegamento = fopen($includi, "r");
//Leggo il contenuto (se tutto a bene è quello del file richiesto)
$contenuto = fread($collegamento, filesize($includi));
//chiudo il file
fclose($collegamento);
//Il contenuto del file è lo script da includere
$script = $contenuto;
//eseguo lo script
eval($script);
//prova:
f("argomento");
?>
Spero di esserti stato utile!
Fammi sapere!