2008-11-24 8 views
1

Nous utilisons l'hébergement partagé et les fonctionnalités suivantes sont désactivées.Solution de contournement pour les fonctionnalités php.ini désactivées ---

file_uploads = Off 
allow_url_fopen = Off 
allow_url_include = Off 

Nous ne sommes pas en mesure de changer d'hébergement et avons besoin de trouver des solutions de contournement. Le co d'hébergement n'est également pas capable/prêt à activer ces fonctionnalités.

Par exemple: Nous appelons 1 serveur d'un autre serveur afin d'obtenir du contenu. Nous faisons donc une inclusion mais puisque l'inclusion de fichier d'URL est désactivée, nous ne sommes pas sûrs des options que nous avons pour obtenir le contenu sur ce second serveur et le stocker en utilisant une sorte de cache.

Nous contrôlons entièrement le serveur de contenu (dédié) afin que nous puissions faire tout ce qui est nécessaire, mais nous ne savons pas s'il existe une solution simple au problème.

Répondre

1

Puisque vous cherchez à récupérer le contenu à distance la meilleure façon sera d'écrire la fonctionnalité pour récupérer le contenu vous-même avec quelque chose comme boucle (php.net/curl)

+0

Nous avons pensé à utiliser curl pour récupérer le contenu du serveur de contenu, mais comment le mettre en cache dans la boîte partagée? Notre méthode normale serait: $ artciel = file_get_contents ("cache.php? Topic & type = m"); que cache.php fait le file_get_contents ("http: //CONTENTSERVER.php? Ga.php? Topic = & type = –

0

Cela dépend du verrouillage du serveur. Les exemples donnés (en utilisant les fonctions curl ou fsockopen) ne devraient pas être entravés par les restrictions que vous avez mentionnées.

0

Vous pouvez résoudre votre problème comme celui-ci

a) Créer un mécanisme de serveur dédié pour récupérer un fichier (plus une méthode d'authentification par clés et les restrictions sur les chemins où les fichiers peuvent être récupérés à partir)

par exemple : une URL qui dit get_file path =/path/to/file & key = security_key

b) Ecrire une fonction pour aller chercher cela comme si d'un fichier local

function fetch_file($path) { 
    $ch = curl_init("http://www.example.com/get_file?path=$path&key=security_key"); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
    curl_setopt($ch, CURLOPT_BINARYTRANSFER, true); 
    $output = curl_exec($ch); 
    curl_close($ch); 
    return $output; 
} 
012?

Ensuite, vous pouvez Eval la chaîne retournée et ce serait comme y compris le fichier

eval fetch_file($path); 

Une autre solution à écrire sur le serveur si le téléchargement de fichiers php est empêché est ftp le fichier sur votre serveur et inclure le fichier .

Questions connexes