J'ai un tas de serveurs virtuels installés sur un serveur et je veux une sorte de dossier d'inclusion universel qu'ils peuvent tous inclure. Dans le fichier php.ini, include_path et open_basedir incluent le chemin d'accès au dossier. L'include est situé dans le même chemin que tous les sites et j'ai même essayé de définir des permissions sur 777 et de placer les fichiers dans le même groupe que tout le monde, mais PHP refuse d'inclure à moins d'avoir le même propriétaire. Est-il possible de contourner ce problème et les laisser inclure à partir de ce dossier quel que soit le propriétaire?Existe-t-il un moyen d'inclure un fichier pour tout le monde en PHP?
Répondre
Vous pouvez inclure des fichiers à distance, lire ceci: http://php.net/manual/en/features.remote-files.php
Juste un FYI, activer l'inclusion à distance peut être dangereux, et si vous l'activez, assurez-vous de filtrer toute chaîne qui est incluse (même si elle n'est pas destinée à être une adresse à distance) car elle peut conduire à un exploit/piraté le serveur si vous ne le faites pas. –
Je suis un peu méfiant à ce sujet car le but de ce que je fais est d'inclure un script PHP spécialisé pour aider à déduire les trous que les gens pourraient exploiter pour nous pirater. Il est un peu difficile de parcourir manuellement chaque fichier car nous avons plus de 80 sites sur ce VPS et des milliers de fichiers à parcourir. Je préférerais ne pas faire plus de portes dérobées possibles si possible. – SilentDragon
Ce n'est pas exactement propre, mais vous pouvez créer un lien symbolique vers un fichier d'inclusion commun sur tous les vhosts, puis définir des liens symboliques dans Apache. Vous aurez besoin d'un nouveau fichier pour chaque domaine, mais au moins vous n'aurez qu'à en modifier un. –
Cela ne représente pas un vote à proximité, mais juste une pensée: ce * pourrait * être plus directement applicable à [Webmasters StackExchange] (http: //webmasters.stackexchange.com/). –