J'ai un projet exécuté dans win7 (avec xampp installed - zend framework 1.10.3). Mais quand je l'ai déplacé vers Ubuntu, j'ai eu un problème. Ma structure du projet est:Impossible de charger Zend/Application.php lors du déplacement du projet de win7 vers Ubuntu
Myproject
application
library
Zend
include
application.ini
etc...
index.php
Voici mon index.php:
<?php
// 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') : 'production'));
define('APP_ROOT', realpath(dirname(dirname(__FILE__))));
// Ensure library/ is on include_path
set_include_path(implode(PATH_SEPARATOR, array(
realpath(APPLICATION_PATH . '/../library'),
get_include_path(),
)));
require_once 'include/constant.inc.php';
require_once('include/class.phpmailer.php');
// set constant in Zend_Registry
//require_once 'Zend/Registry.php';
//Zend_Registry::set('const', $cfg);
/** Zend_Application */
require_once 'Zend/Application.php';
// Create application, bootstrap, and run
$application = new Zend_Application(
APPLICATION_ENV,
APPLICATION_PATH . '/../include/application.ini'
);
$application->bootstrap()
->run();
Et voici mon include/application.ini:
[production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
phpSettings.date.timezone = "Europe/London"
;includePaths.library = APPLICATION_PATH "/../library"
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"
appnamespace = ""
;resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
;resources.frontController.params.displayExceptions = 0
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
resources.modules = ""
autoloaderNamespaces.Zendex = "Zendex_"
resources.db.adapter = PDO_MYSQL
resources.db.params.host = localhost
resources.db.params.username = root
resources.db.params.password =
resources.db.params.dbname = qtcms
resources.db.params.charset = "utf8"
resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts/"
resources.view[] =
;resources.layout.layout = "layout"
admin.resources.layout.layout = "admin"
resources.view.doctype = "XHTML1_STRICT"
resources.view.helperPath = APPLICATION_PATH "/helpers/views/"
resources.view.helperPathPrefix = "Zend_View_Helper_"
;resources.view.params.default.basePath = APPLICATION_PATH "/layouts/default/"
;resources.view.params.default.layout = "layout"
;resources.view.params.default.layoutPath = APPLICATION_PATH "/layouts/default/default/"
;resources.view.params.admin.basePath = APPLICATION_PATH "/layouts/admin/"
;resources.view.params.admin.layout = "layout"
;resources.view.params.admin.layoutPath = APPLICATION_PATH "/layouts/admin/default/"
[staging : production]
[testing : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
resources.frontController.params.displayExceptions = 1
Avec ces configurations, je pas de problème pour faire fonctionner mon projet sur Windows (avec xampp a été installé).
En ubuntu, j'avais xampp installé suivant ce guide:
http://humanlanguage.wordpress.com/2006/12/03/install-xampp-on-ubuntu/
Selon cette orientation, j'ai créé un lien symbolique (si je ne trompe) pour relier mon /home/truong/webdev dossier avec /opt/lampp/htdocs dossier (avec "truong" est mon nom^_ ^) Puis j'ai déplacé mon projet à/home/truong/webdev. Après cela, je lancer mon projet de navigateur ULR: localhost/webdev/myProject et j'ai eu cette erreur:
Warning: require_once(Zend/Application.php) [function.require-once]: failed to open stream: No such file or directory in /home/truong/webdev/qtcms/index.php on line 28
Fatal error: require_once() [function.require]: Failed opening required 'Zend/Application.php' (include_path=':.:/opt/lampp/lib/php') in /home/truong/webdev/qtcms/index.php on line 28
On dirait que le système n'a pas pu trouver mon dossier de bibliothèque/Zend.
je me suis demandé que dois-je configurer le chemin d'inclusion pour ma bibliothèque Zend php.ini manuellement, mais je pensais que c'était pas neccessary, parce que je l'avais mis dans index.php
// Ensure library/ is on include_path
set_include_path(implode(PATH_SEPARATOR, array(
realpath(APPLICATION_PATH . '/../library'),
get_include_path(),
)));
J'ai cherché à plusieurs reprises sur Internet mais rien trouvé utile. S'il vous plaît aidez-moi à résoudre ce problème ... Merci beaucoup. ps: mon excuse pour mon mauvais anglais. quangtruong1985
Messages: 1 Inscrit le: Jeu Jan 06, 2011 16:24
avez-vous vérifié les autorisations/propriétaire pour le dossier de la bibliothèque? – opHASnoNAME
Définir l'autorisation pour les dossiers a résolu le problème. Merci beaucoup. –