Bonjour à tous,

je travaille à la mise à jour d'une application conçue avec Symfony (pas par moi).
J'ai réussi à la faire fonctionner en local et les modifs se passent assez bien (je débute avec symfony).
Mon soucis est que le client veut voir l'évolution du travail et pour ce faire je dois mettre le site en ligne sur mon seveur.
Je veux le mettre dans en sous-domaine (www.symfony.monsite.com).
J'ai appliqué toutes les recommandations trouvées via Google mais rien à faire j'ai la meme erreur.

Warning: file_get_contents(/home/monsite/public_html/../app/config/app.yml): failed to open stream: No such file or directory in /home/monsite/public_html/symfony/src/AdminBundle/Config/AppConfig.php on line 21

Merci de votre aide.

7 réponses


cyreel
Auteur
Réponse acceptée

Je suis tombé sur ce lien qui m'a aidé a resoudre mon problème.
https://www.yegods.it/2015/01/30/install-symfony-app-in-a-subfolder-of-an-existing-site/
ça pourrai aider qulequ'un.

hum l'erreur est claire, il cherche à trouver un fichier app/config/app.yml qui n'existe pas. Il semble être requis par src/AdminBundle/Config/AppConfig.php, il te faut donc regarder du coté de ce fichier. Ou demander à la personne à l'origine du projet de t'envoyer un exemple du fameux fichier de config.

cyreel
Auteur

Le fichier existe bel et bien. J'avais eu la même erreur en local et j'ai pu regler le soucis en utilisant virtual host (j'avais posté sur ce même forum).
Le site fonctionne très bien en local0.
Dans le cas actuel je ne peux pas utiliser de virtual host car en hébergement partagé.
Je cherche donc quelles configurations il faut faire pour que cela fonctionne en sous-domaine.

tu me confirmes donc que le chemin /home/monsite/public_html/../app/config/app.yml est bien un chemin valide ? Si oui, tu as un souci de droit de lecture sur le fichier. C'est les deux uniques raisons pouvant provoquer cette erreur.

cyreel
Auteur

Ce chemin existe bel et bien. Je j'ai vérifié les droits de lecture. Il n'y a pas de soucis.
Je sais vraiment plus quoi faire ...
Merci pour tes reponses.

il nous faut le fichier : src/AdminBundle/Config/AppConfig.php et la ligne incriminé. Sinon on avancera pas

cyreel
Auteur

BOnjour,
la ligne incriminée est la suivante:

    public function __construct()
    {
        $this->filename = $_SERVER['DOCUMENT_ROOT'].'/../app/config/app.yml';
    }

    public function getConfig($group)
    {
        // Chargement du fichier de configuration
        $contents = file_get_contents($this->filename);
        $config = Yaml::parse($contents);
        return $config[$group];
    }

J'ai affiché $_SERVER['DOCUMENT_ROOT'] il donne ceci:

"/home/monsite/public_html"

Comme signalé plus haut, j'avais eu le même soucis en local et la réation d'un Vhost m'a permis de changer la valeur du document_route.
En ligne rien à faire...