php
  • ubuntu
  • apache2
  • public-html
  • 2013-04-11 1 views 0 likes 
    0

    J'ai un site php main.php dans le public_html dir, quelles sources plusieurs images:code php de trames non exécuté dans public_html

    <html> 
    <head> 
    <title>My Site</title> 
    </head> 
    <frameset rows="55, *, 0" frameborder="no"> 
        <frame id='headerFrame' src="headerFrame.php" scrolling="no"> 
        <frame src="mainPages/a.php"> 
        <frame src="mainPages/b.php"> 
    </frameset> 
    </html> 
    

    Les balises de code php dans main.php (non représenté) sont exécutées correctement par le serveur, mais quand je passe en revue les sources de cadre dans le navigateur, je vois des balises php dans non interprétés le code html:

    headerFrame.php:

    <?php 
    include 'base.php'; 
    ?> 
    <html> 
    ... 
    

    Comment vient que main.php est i nterpreted, mais headerFrame.php pas? Lorsque je déplace la page vers /var/www/mypage/ cela fonctionne bien.

    Environnement: Ubuntu 12.10, apache2

    +0

    Votre chemin pour votre inclusion est probablement faux. Le rapport d'erreur vous le dirait. –

    +0

    Avez-vous/var/www et/var/public_html? Ou à quoi ressemble votre structure de répertoire? Il pourrait y avoir un problème avec votre configuration php, en disant que php est exécuté dans/var/www mais pas dans/var/public_html – strauberry

    Répondre

    0

    J'ai trouvé l'erreur moi-même, ce qui est pas tout à fait évident dans l'extrait posté:

    Là où beaucoup comprend des chemins relatifs dans les scripts php. Et les chemins relatifs pour include sont traités différemment pour /var/www/mypage et ~/public_html/mypage.

    La première considère les chemins relatifs par rapport à l'emplacement du fichier de script en cours d'exécution, tandis que la dernière gère les chemins relatifs par rapport au répertoire principal (~/public_html/mypage).

    Comme dans ce dernier cas, les fichiers php inclus n'ont pas été trouvés, les balises php ont été sauvegardées au lieu d'être interprétées par le serveur apache.

    J'utilise la configuration par défaut d'apache2 pour Ubuntu 12.10, sauf que j'ai activé l'userdir.

    Questions connexes