IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MVC PHP Discussion :

Problème de chargement des models sous Linux. [ZF 1.10]


Sujet :

MVC PHP

  1. #1
    Membre habitué
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2010
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 76
    Points : 127
    Points
    127
    Par défaut Problème de chargement des models sous Linux.
    Bonjour a tous.
    J'ai créé une application avec ZF qui fonctionne correctement sous Windows.
    J'ai donc essayé de l'installer sur mon serveur Apache sous linux et là problème : mon application ne trouve plus les classes du model. Comme si l'autoload ne fonctionné pas.

    Mon architecture est la suivante.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    application--
                    |
                     controllers
                     forms
                     models--
                                |
                                DbTable
                                DbView
    Je voudrais savoir si quelqu'un a une idée pourquoi ça marche sous Windows et pas sous Linux? Si ça vient de mon code? ou d'un module php à charger?

    Si je rajoute des require_once() ça marche mais bon j'aimerais trouver une solution qui ne m'oblige pas à reprendre tous mes fichiers.

    Je tiens a préciser que j'ai respecté la convention de nommage des classes (enfin je pense). Par exemple les classes qui sont dans DbTable commence par Application_Model_DbTable_nomdelaclasse.


    Mon application.ini
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    phpSettings.display_startup_errors = 0
    phpSettings.display_errors = 0
    includePaths.library = APPLICATION_PATH "/../library"
    bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
    bootstrap.class = "Bootstrap"
    appnamespace = "Application"
    resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
    resources.frontController.params.displayExceptions = 0
    resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts/"
     
    ; Active la gestion des modules
    resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
    resources.modules[] =

    Mon bootstrap
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
     
    <?php
    /**
     * Utilisé par la suite
     */
    require_once 'plugins/function.php';//Diverse function
    require_once 'plugins/Translator.php';
    require_once 'plugins/Fpars.php';
     
    class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
    {
    	/**
    	 * @var Zend_Controller_Front
    	 */
    	private $_frontController = null;
     
    	public function __construct($application)
        {
        	parent::__construct($application);
     
        	$this->_frontController = Zend_Controller_Front::getInstance();
     
        	/**
    		 * remplace certaine valeur du php.ini
    		 */
    		date_default_timezone_set('Europe/Paris');
     
     
    		/**
    		 * Force l'encodage en UTF-8
    		 */
    		setlocale(LC_ALL,"fr_FR.UTF-8");
    		mb_internal_encoding('UTF-8');
    		iconv_set_encoding("internal_encoding", "UTF-8");
    		//header('Content-type: text/html; charset=iso-8859-1');
        }
        protected function _initView(){
        	$autoloader = Zend_Loader_Autoloader::getInstance();
        	$autoloader->registerNamespace('Alba_');
     
         	$viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer');
        	//$viewRenderer->setView(new Alba_View_Tidy());
        }
     
    	/**
    	 * Pour etre valide XHTML
    	 */
    	protected function _initDoctype()
        {
            $viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer');
            $viewRenderer->initView();
    		$viewRenderer->view->doctype('XHTML11');
        }
     
        protected function _initLib()
        {
        	$autoloader = Zend_Loader_Autoloader::getInstance();
        	$autoloader->registerNamespace('Alba_');
        }
     
    	protected function _initNavigation()
    	{
    		$this->bootstrap('layout');
    		$layout = $this->getResource('layout');
    		$view = $layout->getView();             
    		$config = new Zend_Config_Xml(APPLICATION_PATH . '/configs/navigation.xml', 'nav');
     
    		$container = new Zend_Navigation($config);
     
    		$view->navigation($container);
    	}
     
    	protected function _initpluginsdb()
        {
            $this->_frontController->registerPlugin(new Application_Plugin_Dbinit());
        }
     
        //copie la config dans le registre
    	protected function _initConfig()
        {
            $config = new Zend_Config($this->getOptions());
            Zend_Registry::set('config', $config);
            $db = new Zend_Db_Adapter_Pdo_Mysql($config->resources->db->params);
            Zend_Db_Table::setDefaultAdapter($db);
            Zend_Registry::set('db', $db);
            return $config;
        }
     
     
        /**
    	 * Démmare les acl
    	 */
    	protected function _initAcl()
        {
    		$acl=new Alba_Acl();
    		$this->_frontController->registerPlugin(new Alba_Acl_Auth($acl)) ;
     
    		Zend_Registry::set('acl', $acl);
        }
     
     
    ?>
    Mon index.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    <?php
     
    defined('INSTALLATION_PATH')
        || define('INSTALLATION_PATH', realpath(dirname(__FILE__) . '/../'));
     
    // Define path to application directory
    defined('APPLICATION_PATH')
        || define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application'));
     
    // Define application environment
    defined('APPLICATION_ENV')
        || define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'development'));
     
    // Ensure library/ is on include_path
    set_include_path(implode(PATH_SEPARATOR, array(
        realpath(APPLICATION_PATH . '/../library'),
        get_include_path(),
    )));
     
    /** Zend_Application */
    require_once 'Zend/Application.php';
     
    // Create application, bootstrap, and run
    $application = new Zend_Application(
        APPLICATION_ENV,
        APPLICATION_PATH . '/configs/application.ini'
    );
     
     
    //n'affiches pas les erreurs de notice
    error_reporting(E_ALL ^ E_NOTICE);
     
    $application->bootstrap()
                ->run();
     
     ?>

    Merci d'avance

  2. #2
    Membre émérite
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Points : 2 446
    Points
    2 446
    Par défaut
    ya des liens symboliques?

    que dit le debug de l'autoload?

  3. #3
    Membre habitué
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2010
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 76
    Points : 127
    Points
    127
    Par défaut
    J'ai fait un lien symbolique des fichiers du framework dans mon dossier library.

    Je suis débutant avec zend je sais pas trop comment utilisé le débug avec Zend

  4. #4
    Membre éprouvé
    Avatar de 5h4rk
    Homme Profil pro
    CTO at TabMo
    Inscrit en
    Février 2011
    Messages
    813
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : CTO at TabMo
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2011
    Messages : 813
    Points : 1 297
    Points
    1 297
    Par défaut
    Si ça fonctionne sous windows et pas sous linux c'est probablement un problème au niveau de la casse, windows ne différencie pas les majuscules des minuscules tandis que linux si

  5. #5
    Membre habitué
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2010
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 76
    Points : 127
    Points
    127
    Par défaut
    j'ai déjà vérifier j'ai pas de problème de ce côté la.
    Je pencherai plutôt sur un problème de configuration de mon projet lorsque je l'ai installé sous linux.

    Je travaille sans avoir installé Zend Server. J'ai donc fait un lien symbolique entre la library de mon projet et les fichiers du Zend Framework. Est-ce que ça pourrai venir de la?

    j'ai essayé d'ajouter dans le php.ini le chemin du répertoire ou il y a les classes mais ça change rien

  6. #6
    Membre habitué
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2010
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 76
    Points : 127
    Points
    127
    Par défaut
    J'ai trouvé !!

    Effectivement c'était un problème de majuscule.
    Mes classes étaient bien nommé par contre un des fichiers contenant les classes s’appelait demande.php au lien de Demande.php

    merci a vous

  7. #7
    Membre éprouvé
    Avatar de 5h4rk
    Homme Profil pro
    CTO at TabMo
    Inscrit en
    Février 2011
    Messages
    813
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : CTO at TabMo
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2011
    Messages : 813
    Points : 1 297
    Points
    1 297
    Par défaut
    Il n'y a pas de quoi

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème chargement des models 3D VBO VAO
    Par manrugby dans le forum OpenGL
    Réponses: 6
    Dernier message: 26/07/2011, 11h56
  2. Problèmes Démarrage des services sous Linux
    Par clementp dans le forum Administration-Migration
    Réponses: 2
    Dernier message: 20/11/2009, 09h06
  3. Problème chargement image jpg sous linux
    Par AF_2.8 dans le forum Qt
    Réponses: 6
    Dernier message: 17/11/2008, 14h11
  4. Jouer des .wav sous Linux
    Par c guine dans le forum Modules
    Réponses: 3
    Dernier message: 27/08/2005, 09h42
  5. Problème de creation de thread sous linux
    Par xilebo dans le forum POSIX
    Réponses: 4
    Dernier message: 27/10/2004, 09h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo