Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonsoir. J'avance quelques peu sur mon application et j'aurai voulu commencer à la tester un peu en ligne.
Pour le moment elle est loin d'être terminée et je n'ai donc pas envie d'investir dans un dédié pour le moment, ni de payer pour un mutualisé d'ailleurs.
Donc pour le moment j'ai choisi la solution gratuite olympe network.
J'ai donc copié sur le ftp tous mes fichiers. Etant donné que je n'ai pas accès aux fichiers de config, j'ai créé un htaccess à la racine du site :
RewriteEngine on RewriteCond %{REQUEST_URI} !^/public RewriteRule (.*) /public/$1 [QSA,L]
Jusqu'ici tout va bien, la page d'index est appelée. L'ennui c'est ceci :
Warning: is_readable() [function.is-readable]: open_basedir restriction in effect. File(/usr/share/php/./views/helpers/Doctype.php) is not within the allowed path(s): (/www) in /www/sosdofus/library/Zend/Loader.php on line 198 Warning: is_readable() [function.is-readable]: open_basedir restriction in effect. File(/usr/share/pear/./views/helpers/Doctype.php) is not within the allowed path(s): (/www) in /www/sosdofus/library/Zend/Loader.php on line 198 Warning: is_readable() [function.is-readable]: open_basedir restriction in effect. File(/usr/share/php/./views/helpers/HeadTitle.php) is not within the allowed path(s): (/www) in /www/sosdofus/library/Zend/Loader.php on line 198 Warning: is_readable() [function.is-readable]: open_basedir restriction in effect. File(/usr/share/pear/./views/helpers/HeadTitle.php) is not within the allowed path(s): (/www) in /www/sosdofus/library/Zend/Loader.php on line 198 Warning: is_readable() [function.is-readable]: open_basedir restriction in effect. File(/usr/share/php/./views/helpers/HeadLink.php) is not within the allowed path(s): (/www) in /www/sosdofus/library/Zend/Loader.php on line 198 Warning: is_readable() [function.is-readable]: open_basedir restriction in effect. File(/usr/share/pear/./views/helpers/HeadLink.php) is not within the allowed path(s): (/www) in /www/sosdofus/library/Zend/Loader.php on line 198 Warning: is_readable() [function.is-readable]: open_basedir restriction in effect. File(/usr/share/php/./views/helpers/HeadMeta.php) is not within the allowed path(s): (/www) in /www/sosdofus/library/Zend/Loader.php on line 198 Warning: is_readable() [function.is-readable]: open_basedir restriction in effect. File(/usr/share/pear/./views/helpers/HeadMeta.php) is not within the allowed path(s): (/www) in /www/sosdofus/library/Zend/Loader.php on line 198 Fatal error: Uncaught exception 'Zend_Session_Exception' with message 'Session must be started before any output has been sent to the browser; output started in /www/sosdofus/library/Zend/Loader.php/198' in /www/sosdofus/library/Zend/Session.php:454 Stack trace: #0 /www/sosdofus/library/Zend/Session/Namespace.php(143): Zend_Session::start(true) #1 /www/sosdofus/library/Zend/Auth/Storage/Session.php(87): Zend_Session_Namespace->__construct('Zend_Auth') #2 /www/sosdofus/library/Zend/Auth.php(91): Zend_Auth_Storage_Session->__construct() #3 /www/sosdofus/library/Zend/Auth.php(141): Zend_Auth->getStorage() #4 /www/sosdofus/application/views/helpers/ProfileLink.php(20): Zend_Auth->hasIdentity() #5 [internal function]: Zend_View_Helper_ProfileLink->profileLink() #6 /www/sosdofus/library/Zend/View/Abstract.php(342): call_user_func_array(Array, Array) #7 [internal function]: Zend_View_Abstract->__call('profileLink', Array) #8 /www/sosdofus/application/layouts/scripts/layout.phtml(14): Zend_View->profileLink() #9 /www/sosdofus/lib in /www/sosdofus/library/Zend/Session.php on line 454
Je ne sais trop comment y remédier. Je vous montre donc mon fichier de config ainsi que mon fichier index.php
index :
<?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') : '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' ); $autoloader = Zend_Loader_Autoloader::getInstance(); $autoloader->registerNamespace('Perso_'); $application->bootstrap() ->run();
Et le fichier config
[production] phpSettings.display_startup_errors = 0 phpSettings.display_errors = 0 phpSettings.date.timezone = "Europe/Paris" 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/" resources.db.adapter = PDO_MYSQL resources.db.params.host = localhost resources.db.params.username = root resources.db.params.password = resources.db.params.dbname = sos [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
Voila voila. C'est la première fois que je met en prod une application Zend et je suis un peu dérouté. Je vous serais reconnaissant de bien vouloir me guider afin de me débarrasser de ces problèmes
Hors ligne
open_basedir restriction in effect
A première vue, on dirait que le serveur fait des restrictions. Renseigne toi auprès d'eux sur ce point déjà.
Dernière modification par throrin19 (07-06-2010 22:54:11)
Hors ligne
J'ai posté le même sujet sur le forum olympe. A suivre.
Hors ligne
Me revoila. J'ai donc compris plus ou moins le problème. En gros nous avons dans la classe Zend_Loader à la ligne 198 un parcours de tous les paths de l'include path. Or chez olympe les répertoires sont gérés de cette manière :
/www/monidentifiant/
Mon site ne peut donc lire et écrire que dans le répertoire qui m'appartient, et donc revenir dans '/usr/share/php' ou '/usr/share/pear' affiche l'erreur de restriction. J'ai donc fais en sorte que zend loader ne fasse rien si le path correspond à ceux-ci.
Donc maintenant j'ai ma page d'accueil qui s'affiche, j'ai modifié pour l'affichage du css, il me reste un problème, quand je clique sur un lien j'ai une erreur 500.
Hors ligne
ah, ça sent une réécriture de lien qui marche pas. Que donnent les logs?
Hors ligne
Ben étant sur un mutualisé je n'ai pas accès aux logs
Hors ligne
Bonjour,
Normalement si...
Enfin, cela dépend des hébergeurs et de l'hébergement choisi: gratuit ou payant...
Je ne sais pas pour Olympe.
Par exemple, chez OVH, c'est possible...
Ils t'indiquent cela dans l'email d'inscription, avec tous les services associés à ton compte d'hébergement. Puis tu peux aussi y accéder à partir de ton manager.
Bonne recherche de services
Sinon, tu peux développer un petit plugin pour logger toutes les actions de ton application.
Hors ligne
Je ne vous cela nulle part.
Hors ligne
J'aurai besoin d'aide...
Voila donc sur le serveur sur lequel j'héberge le site, les htaccess ne semblent pas fonctionner correctement. J'aurai donc besoin de vous et de vos compétences afin que mon site fonctionne, mais surtout afin de comprendre un peu mieux comment tout cela fonctionne.!
En effet j'ai jamais mis les mains dans un htaccess et pour tout vous dire l'urlrewriting je ne connais pas beaucoup, seulement depuis que j'utilise zend (ca va faire 1 mois...).
Donc voila, l'arborescence de mon site.
/www
/application
/library
/public
index.php
Me faut-il 2 htaccess? Un à la racine, l'autre dans /public?
Comment les construire, quelles règles appliquer?
Hors ligne
Issiel a écrit:
Me revoila. J'ai donc compris plus ou moins le problème. En gros nous avons dans la classe Zend_Loader à la ligne 198 un parcours de tous les paths de l'include path. Or chez olympe les répertoires sont gérés de cette manière :
/www/monidentifiant/
Mon site ne peut donc lire et écrire que dans le répertoire qui m'appartient, et donc revenir dans '/usr/share/php' ou '/usr/share/pear' affiche l'erreur de restriction. J'ai donc fais en sorte que zend loader ne fasse rien si le path correspond à ceux-ci.
Donc maintenant j'ai ma page d'accueil qui s'affiche, j'ai modifié pour l'affichage du css, il me reste un problème, quand je clique sur un lien j'ai une erreur 500.
Bonjour Issiel, tu pourrais nous faire part de tes manipulations (J'ai donc fais en sorte que zend loader ne fasse rien si le path correspond à ceux-ci.) svp ????? Merci
Hors ligne