Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 14-04-2010 22:06:31

nicko
Membre
Lieu: Chambéry
Date d'inscription: 25-05-2009
Messages: 190

Des comportement très différent entre le local et serveur en ligne

Bonjour,

Voilà, je suis en train de mettre en ligne (linux) une partie d'un projet et il y a des comportements complètement différents avec la version local qui est sous Windows (et je ne parle pas de la casse wink )

Exemple avec ce bout de code dans le bootstrap :

Code:

    /**
     * Bootstrap::_initViews()
     * 
     * @return 
     */
    protected function _initViews()
    {
        $mvc = Zend_Layout::startMvc();

    }

pourtant simple non ?

Et dans le layout j'ai ceci  :

Code:

<?php echo $this->Layout()->content ?>

Voila l'erreur :

Code:

Warning: is_readable(): open_basedir restriction in effect. File(/usr/share/php5//srv/www/vhosts/domaine.com/httpdocs/Applications/Install/views/helpers/Layout.php) is not within the allowed path(s):

Donc si je comprends bien il ne trouve pas l'aide de vue qui devrait se trouver dans "Applications/Install/views/helpers/". Normal puisque je souhaite appeler l'aide de vue de la librairie de Zend.

Voila en extrait si je fait un

Code:

Zend_Debug::Dump($this->view);

dans indexAction() de install.

Code:

     ["_prefixToPaths:protected"] => array(1) {
        ["Zend_View_Helper_"] => array(2) {
          [0] => string(17) "Zend/View/Helper/"
          [1] => string(77) "/srv/www/vhosts/domaine.com/httpdocs/Applications/Install/views/helpers/"
        }
      }

Il prend bien l'index 1 du tableau, mais il ne devrais pas prendre en premier l'index 0 ? Parce que là, s'il se fiche de ma tête il faut qu'il me le dise, parce que le même code fonctionne bien sous Windows (qui pour ce soir est mon ami LOL).

Voilà j'ai fini de péter mon câble. Si vous avez des idées, je suis preneur.
Bien cordialement.

Hors ligne

 

#2 15-04-2010 08:33:19

nicko
Membre
Lieu: Chambéry
Date d'inscription: 25-05-2009
Messages: 190

Re: Des comportement très différent entre le local et serveur en ligne

Bonjour,

J'ai repris à la lettre près la documentation de Zend en croyant que j'ai fais des erreurs dans ma programmation : http://framework.zend.com/manual/fr/zen … start.html

Et lorsque je mets dans le layout :

Code:

<?php echo  $this->layout()->content ?>

J'ai donc toujours la même erreur :

Code:

Warning: is_readable(): open_basedir restriction in effect. File(/usr/share/php5//srv/www/vhosts/domaine.com/httpdocs/application/views/helpers/Layout.php) is not within the allowed path(s): (/srv/www/vhosts/domaine.com/httpdocs:/tmp) in /srv/www/vhosts/domaine.com/httpdocs/Core/Zend/Loader.php on line 190 Warning: is_readable(): open_basedir restriction in effect. File(/usr/share/php5/PEAR//srv/www/vhosts/domaine.com/httpdocs/application/views/helpers/Layout.php) is not within the allowed path(s): (/srv/www/vhosts/domaine.com/httpdocs:/tmp) in /srv/www/vhosts/domaine.com/httpdocs/Core/Zend/Loader.php on line 190

Mais il y a une petite différence, c'est qu'il a tout de même réussi a aller chercher ce qu'il y a dans la vue pour l'afficher dans le layout.

Ce que j'en déduit c'est qu'il s'arrête pas a l'aide de vue de zend, mais tente tout de même d'aller cherche la deuxième aide de vue personnalisé. Or il n'y en a pas !

Pouvez-vous me dire comment faire sorte de ne plus avoir cette erreur de façon a ce que se soit propre ? Sans mettre à 0 les valeurs de "display_startup_errors" et "display_errors" wink

Merci d'avance de votre aide.
Bien cordialement.

Hors ligne

 

#3 15-04-2010 09:26:51

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: Des comportement très différent entre le local et serveur en ligne

Le open_basedir, c'est une configuration apache qui t'empêche de lire un fichier en dehors d'un répertoire donné.

En gros l'erreur dit que tu n'as pas le droit d'accéder à :
/usr/share/php5//srv/www/vhosts/domaine.com/httpdocs/application/views/helpers/Layout.php

A mon avis il devrait chercher son fichier dans le répertoire
/srv/www/vhosts/domaine.com/httpdocs/application/views/helpers/Layout.php
(sans le /usr/share/php5/).

Comment fais tu pour déterminer ton APPLICATION_PATH ? Tu peux nous envoyer ton index.php ?

A+, Philippe


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

#4 15-04-2010 09:44:31

nicko
Membre
Lieu: Chambéry
Date d'inscription: 25-05-2009
Messages: 190

Re: Des comportement très différent entre le local et serveur en ligne

Alors le index est celui qui est proposé par Zend :

Code:

defined('APPLICATION_PATH') || define('APPLICATION_PATH',
    realpath(dirname(__FILE__) . '/application'));
// Define application environment
defined('ENV') || define('ENV',
    (getenv('ENV') ? getenv('ENV')
        : 'production'));

set_include_path(implode(PATH_SEPARATOR, array(
            dirname(__FILE__) . '/Core',
            get_include_path(),
            )));
/**
* * Zend_Application
*/
require_once 'Zend/Application.php';
// Create application, bootstrap, and run
$application = new Zend_Application(
    ENV,
    APPLICATION_PATH . '/configs/application.ini'
    );
$application->bootstrap()->run();

La constante ENV est définie dans le .htaccess.

Merci de ton aide. Le index est à la racine.

Par contre tu dis que je n'ai pas le droit d'y accéder, mais si je mets un fishier Layout.php (vide) dans le dossier concerné, il n'y a plus d'erreur. wink Mais bon, c'est tout de même pas normal. Si je doit mettre une aide de vues pour toutes les aide de Zend je ne suis pas rendu.

Dernière modification par nicko (15-04-2010 09:50:55)

Hors ligne

 

#5 16-04-2010 08:14:28

nicko
Membre
Lieu: Chambéry
Date d'inscription: 25-05-2009
Messages: 190

Re: Des comportement très différent entre le local et serveur en ligne

Bonjour,

Alors, j'ai remarqué que lorsque le .htaccess n'y était pas, je n'avais pas l'erreur.

Code:

SetEnv ENV development

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

Pourtant c'est la même chose que le tuto ? Voyez-vous pourquoi ?

Parce que la je planche depuis avant hier et je n'est plus d'idée wink

Bien cordialement.

Hors ligne

 

#6 16-04-2010 09:47:43

armetiz
Membre
Lieu: Lyon
Date d'inscription: 26-02-2010
Messages: 53
Site web

Re: Des comportement très différent entre le local et serveur en ligne

Voici mon index.php

Code:

// Ensure library/ is on include_path
set_include_path(implode(PATH_SEPARATOR, array(
    realpath(APPLICATION_PATH . '/../library'),
    get_include_path(),
)));

Il ne me semble pas l'avoir modifié pourtant...
Mais bon, il n'inclut pas plus que le tient le répertoire Application/

Tu n'as pas le safe_mode activé ?

Hors ligne

 

#7 16-04-2010 10:44:23

nicko
Membre
Lieu: Chambéry
Date d'inscription: 25-05-2009
Messages: 190

Re: Des comportement très différent entre le local et serveur en ligne

Bonjour armetiz,

Oui entre temps j'ai modifié un peu le code pour l'adapté à mon projet mais ce n'est pas des modification importantes.

Pour le safe_mode, j'ai fini par le désactiver pour voir (apache et PHP), mais ça ne change rien.

Mais j'ai l'erreur intervient que lorsqu'il a le .htaccess. Pourtant j'ai d'autres sites sur le même serveur et tous (ou presque) ont un .htaccess ?

Vraiment incompréhensible.

PS: je suis c.., normal puisque le htaccess défini l'environnement. Mais ca ne règle pas mon problème.

Dernière modification par nicko (16-04-2010 10:47:46)

Hors ligne

 

#8 16-04-2010 12:28:39

nicko
Membre
Lieu: Chambéry
Date d'inscription: 25-05-2009
Messages: 190

Re: Des comportement très différent entre le local et serveur en ligne

Question :

Lorsque vous installer un nouveau projet, faites-vous systématiquement des modifications dans la configuration du serveur.

Par ce que la il faudrait je modifie open_basedir dans un fichier .conf et encore là ce n'est pas logique puisque j'ai ceci :

Code:

php_admin_value open_basedir "/srv/www/vhosts/domaine.com/httpdocs:/tmp"

Donc normalement il n'y a aucun souci de configuration.

Pas d'idée ?

Dernière modification par nicko (16-04-2010 12:29:16)

Hors ligne

 

#9 03-08-2010 16:48:41

Osteres
Nouveau membre
Date d'inscription: 03-08-2010
Messages: 1

Re: Des comportement très différent entre le local et serveur en ligne

Bonjour,

Je rencontre actuellement le même problème que Nicko en testant mon application sur le serveur de production.

Une de mes déductions personnelles : C'est probablement l'url rewriting qui pose problème ici.

Cependant, dans mon cas je n'ai pas accès à la configuration apache et il m'ai donc impossible de configurer un virtualhost pour mon application.
Je passe donc par url rewriting pour assurer le bon fonctionnement de mon application.

En local, aucun soucis (je passe par un virtualhost, sans urlrewriting)
En production, même problème que Nicko (pas accès au virtualhost donc urlrewriting)


As-tu trouvé une solution Nicko depuis ?

Merci,

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages