installation avec erreur

Bonjour
j’essaie un nouvelle installation et j'ai ce genre de message...
[== Indéfini ==]

Warning: session_start() [function.session-start]: open(/mnt/127/doms/chez.com/f/c/joreveur41/sessions//sess_9a4977122ccbb3111d76ac615f8e60b5, O_RDWR) failed: No such file or directory (2) in /mnt/127/doms/chez.com/f/c/joreveur41/install.php on line 8

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /mnt/127/doms/chez.com/f/c/joreveur41/install.php:8) in /mnt/127/doms/chez.com/f/c/joreveur41/install.php on line 8

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /mnt/127/doms/chez.com/f/c/joreveur41/install.php:8) in /mnt/127/doms/chez.com/f/c/joreveur41/install.php on line 8

une idée d'où ça peut venir ?

Réponses

  • StéphaneStéphane Member, Former PluXml Project Manager
    Bonjour

    pas de dossier sessions à la racine de ton site
    essaye d'en créer un avec les droits en lecture/écriture si besoin

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • Merci je viens de créer un dossier vide et ça marche
    mais apres install j'ai ce message
    [== Indéfini ==]
    Warning: chmod() has been disabled for security reasons in /mnt/127/doms/chez.com/f/3/joreveur41/core/lib/class.plx.utils.php on line 401
    
    Warning: Cannot modify header information - headers already sent by (output started at /mnt/127/doms/chez.com/f/3/joreveur41/core/lib/class.plx.utils.php:401) in /mnt/127/doms/chez.com/f/3/joreveur41/install.php on line 211
    
    mais quand je reviens à la racine du site ça semble ok
    Nb pourquoi dans le zip il n'y a pas de dossier sessions ?
  • StéphaneStéphane Member, Former PluXml Project Manager
    La gestion des sessions avec le dossier "sessions" est propre à ton hébergeur (rien à voir avec le fonctionnement de PluXml)

    pour l'autre erreur, c'est encore lié à ton hébergeur qui interdit de modifier les droits des dossiers/fichiers via un script php et l'instruction php: chmod()

    donc là aussi, rien à voir avec PluXml et on ne pourra rien changer. Désolé

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • Je rencontre une situation qui traite de la session courante, c'est un peu différent de la situation initiale du billet ici mais puisque le Maestro est sur le cas, aussi bien lui glisser le billet dans la poche.

    Je tente d'incorporer à un thème un jeu de scripts très complexes (en tous cas pour moi...) qui nécessite d'inclure un fichier php AVANT le démarrage de la session qui se trouve dans index.php de la racine. Je sais qu'on peut contrôler par le thème l'insertion de bien des choses mais est-il possible de précéder la ligne session_start()?

    Je tente par tous les moyens de respecter ma nouvelle religion me dictant de ne rien modifier ailleurs que dans le répertoire du thème, je ne voudrais pas donner des instructions d'aller jouer dans les fichiers racine ou le core et risque de casser quelque chose.

    Le jeu de scripts fonctionne très bien de façon autonome, ce n'est pas un secret, on parle ici de jcart, un kit de boutique en ligne avec la particularité de bâtir le panier d'achat dans une session pour le conserver de page en page et lancer le paiement par Paypal en finissant son shopping. Ses développeurs l'ont abandonné mais il semble être assez solide et prometteur pour bâtir autour.
  • StéphaneStéphane Member, Former PluXml Project Manager
    Pierre a écrit:
    Je tente d'incorporer à un thème un jeu de scripts très complexes (en tous cas pour moi...) qui nécessite d'inclure un fichier php AVANT le démarrage de la session qui se trouve dans index.php de la racine. Je sais qu'on peut contrôler par le thème l'insertion de bien des choses mais est-il possible de précéder la ligne session_start()?
    .

    Non, pas avec la façon dont sont gérés les fichiers des thèmes dans PluXml
    Il te faudra modifier le fichier /index.php pour y inclure tes propres fichiers avant la ligne avec session_start(), si c'est ce qui est obligatoire de faire pour tes scripts

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • Très bien alors. Au moins, je ne m'acharnerai pas pendant des semaines pour trouver une solution qui n'existe pas. Merci pour la confirmation. J'ai pu réduire le "fardeau" exigé au simple ajout d'une ligne (include) dans le haut d'index.php. La ligne peut même être laissée en place au retrait du thème sans affecter d'autres plugins ou autre.

    Une petite dernière sur ce cas. La fameuse ligne fait référence à un fichier placé dans le répertoire du thème mais elle arrive tellement tôt dans index.php que les constantes ne sont pas encore en place. Y a-t-il moyen d'utiliser un genre de

    PLX_ROOT.$plxMotor->aConf.$plxMotor->style.'/'.$plxMotor->template

    dans les premières lignes de index.php? On a bien PLX_ROOT sous la main, mais peut-on créer la constante du thème si tôt dans le fichier (avant le session_start() sans casser quelque chose plus loin?
  • StéphaneStéphane Member, Former PluXml Project Manager
    Pierre a écrit:
    Une petite dernière sur ce cas. La fameuse ligne fait référence à un fichier placé dans le répertoire du thème mais elle arrive tellement tôt dans index.php que les constantes ne sont pas encore en place. Y a-t-il moyen d'utiliser un genre de

    PLX_ROOT.$plxMotor->aConf.$plxMotor->style.'/'.$plxMotor->template

    Et non. Désolé. La variable $plxMotor est alimentée après session_start(), tout simplement parce qu'il y a besoin que la session soit d'abord démarrée pour récupérer des valeurs stockées en session et renseigner certaines parties de $plxMotor. L'inverse n'irait pas.

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • Merci encore pour la confirmation qu'il ne vaudra pas la peine de me creuser la tête inutilement, ce sera donc un chemin semi-relatif semi-codé-en-dur qui sera nécessaire. Mais quand on est au niveau d'aller jouer là, les codeurs sont assez à l'aise pour ne pas faire une gaffe. À bientôt pour le prochain épisode.
  • J'avance avec mon histoire de boutique et je rencontre quelque chose d'étrange qui est peut-être explicable par le créateur de ce beau CMS.

    Mon système jcart est maintenant parfaitement fonctionnel, il a été installé en premier à l'endroit le plus logique, une page de catégorie. J'utilise alors la boucle classique du thème par défaut en y incorporant les petits items propres à jcart, elle ressemble à:
    [== PHP ==]
    				<?php while($plxShow->plxMotor->plxRecord_arts->loop()): ?>
    					<form method="post" action="" class="jcart">
    						<img src="<?php $plxShow->artThumbnail('#img_url'); ?>" width="125px">
    						<fieldset>
    							<input type="hidden" name="jcartToken" value="<?php echo $_SESSION['jcartToken'];?>" />
    							<input type="hidden" name="my-item-id" value="<?php echo $plxShow->artId(); ?>" />
    							<input type="hidden" name="my-item-name" value="<?php $plxShow->artTitle(); ?>" />
    							<input type="hidden" name="my-item-price" value="<?php echo (float)$plxShow->plxMotor->plxRecord_arts->f('chapo') ?>" />
    							<input type="hidden" name="my-item-url" value="<?php echo $plxShow->artId(); ?>" />
    							
    							<ul>
    								<li><strong><?php $plxShow->artTitle('link'); ?></strong></li>
    								<li>Price: <?php 
    									if($plxShow->plxMotor->plxRecord_arts->f('chapo') != '') {
    										echo (float)$plxShow->plxMotor->plxRecord_arts->f('chapo');
    									} else { 
    										echo 'Appelez-nous';
    									} ?>
    								</li>
    								<li>
    									<label>Qty: <input type="text" name="my-item-qty" value="1" size="3" /></label>
    								</li>
    							</ul>
    
    							<input type="submit" name="my-add-button" value="add to cart" class="button" />
    						</fieldset>
    					</form>
    				<?php endwhile; ?>
    
    

    (la gymnastique avec le chapô vient d'un subterfuge qui utilise sournoisement le champ de chapo pour contenir le prix de vente, il est converti en format numérique)

    Tout allait tellement bien, je m'apprêtais à sabre le Champagne quand j'ai pensé qu'il me faudrait aussi une page d'article pour servir de page de détail sur un article à vendre. Cette page ayant elle aussi un bouton "ajouter au panier", j'ai commencé par simplement reproduire la même chose que la page de catégorie, me disant qu'on verrait à la finition ensuite. Cette version unique est donc:
    [== PHP ==]
    					<form method="post" action="" class="jcart">
    						<img src="<?php $plxShow->artThumbnail('#img_url'); ?>" width="125px">
    						<fieldset>
    							<input type="hidden" name="jcartToken" value="<?php echo $_SESSION['jcartToken'];?>" />
    							<input type="hidden" name="my-item-id" value="<?php echo $plxShow->artId(); ?>" />
    							<input type="hidden" name="my-item-name" value="<?php $plxShow->artTitle(); ?>" />
    							<input type="hidden" name="my-item-price" value="<?php echo (float)$plxShow->plxMotor->plxRecord_arts->f('chapo') ?>" />
    							<input type="hidden" name="my-item-url" value="<?php echo $plxShow->artId(); ?>" />
    							<ul>
    								<li><strong><?php $plxShow->artTitle(); ?></strong></li>
    								<li>Price: <?php 
    									if($plxShow->plxMotor->plxRecord_arts->f('chapo') != '') {
    										echo (float)$plxShow->plxMotor->plxRecord_arts->f('chapo');
    									} else { # Pas de chapo, affichage du contenu
    										echo 'Appelez-nous';
    									} ?>
    								</li>
    								<li>
    									<label>Qty: <input type="text" name="my-item-qty" value="1" size="3" /></label>
    								</li>
    							</ul>
    							<input type="submit" name="my-add-button" value="add to cart" class="button" />
    						</fieldset>
    					</form>
    
    

    Quelle ne fut pas ma surprise de voir que rien ne fonctionne avec celle-ci. Tous les scripts sont dans index.php ou dans le header.php, rien de spécial n'est ajouté à la categorie.php . J'ai recopié presque exactement la même page mais le bouton d'achat dans article.php ne fait pas démarrer le processus qui fonctionne à perfection dans categorie.php. Un peu comme dans la démo de jcart en ligne, j'ai mis le panier dans la sidebar pour voir "en direct" les ajouts au panier. Tout fonctionne sur categorie.php, rien ne bouge sur article.php.

    Y a-t-il une différence dans le traitement d'une page d'article qui empêcherait le script de fonctionner?
  • Puisqu'on y est, j'ai copié la boucle de categorie.php sur la home.php. Après une soigneuse assignation (à l'accueil) des bons articles formatés avec des prix, tout fonctionne parfaitement. Il ne reste que le fichier article.php qui demeure le mystère le plus complet.
  • PierrePierre Member
    juillet 2016 modifié
    À défaut de résoudre le problème, j'ai pu, au moins, trouver le moyen d'avancer en redirigeant l'action du formulaire vers l'accueil, ce qui fait un travail correct. Le problème semble être strictement restreint au fait que le formulaire tentait de renvoyer l'action à la même page (où se situait le formulaire activé) et ne faisait qu'ajouter #form au bout de l'url sans lancer le script.

    À moins de voir une solution pluxéméliste pointer à l'horizon, je pourrai vivre avec cette voie de contournement sans grand problème.
Connectez-vous ou Inscrivez-vous pour répondre.