Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    5

    Errore "Failed to start the session: already started by PHP" utlizzando un prodotto (Prestashop)

    Ciao a tutti,
    ho installato su un server su cui è già attiva una instanza wordpress, un prodotto in PHP, Prestashop, che utilizza la sessione Symfony. L'applicativo che ha un suo dominio dedicato, e definito da un VirtualHost specifico su Apache, si è installato correttamente.

    Quando tento il login come amministratore mi dà però il seguente errore (dai log di Apache):

    [WedJan1800:09:16.0591902017][:error][pid 31253][client xx.xx.xx.xx:63129]
    PHP
    Fatal error:Uncaught exception 'RuntimeException'with message 'Failed to start the session: already started by PHP.'
    in/opt/wp/apps/prestashop/app/cache/prod/classes.php:108\nStack trace:\n#0 /opt/wp/apps/prestashop/app/cache/prod/classes.php(483):
    Symfony\\Component\\HttpFoundation\\Session\\Storage\\NativeSessionStorage->start()\n#1 /opt/wp/apps/prestashop/vendor/symfony/symfony/src/Symfony/Component/Security/Csrf/TokenStorage/SessionTokenStorage.php(90):
    Symfony\\Component\\HttpFoundation\\Session\\Session->start()\n#2 /opt/wp/apps/prestashop/vendor/symfony/symfony/src/Symfony/Component/Security/Csrf/CsrfTokenManager.php(54):
    Symfony\\Component\\Security\\Csrf\\TokenStorage\\SessionTokenStorage->hasToken('ANONYMOUS_USER')\n#3 /opt/wp/apps/prestashop/app/cache/prod/classes.php(8196):
    Symfony\\Component\\Security\\Csrf\\CsrfTokenManager->getToken('ANONYMOUS_USER')\n#4 /opt/wp/apps/prestashop/classes/Link.php(722):
    PrestaShopBundle\\Service\\Routing\\Router->generate('admin_product_c...')\n#5 /opt/wordpre in /opt/wp/apps/prestashop/app/bootstrap.php.cache on line 3216,
    referer
    : http://www.xxxxx.xx/adminXXX/index.php?controller=AdminLogin&token=181fa270d473 86a8d523bdea6213932c&redirect=AdminDashboard


    Ho letto delle cose in proposito, ma fondamentalmente non credo di dover mettere mano al codice di Prestashop, bensì capire come mai Symfony trova la sessione già "startata". Ho verificato che l'autostart in php.ini non sia previsto, e il paramentro è impostato a 0.

    Quali prove posso fare per risolvere il problema?

    Grazie.

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2016
    Messaggi
    783
    Il componente Symfony HttpFoundation fa partire la sessione in automatico, la direttiva in php.ini non cambia questo comportamento.
    Quindi se tu provi a far partire una sessione manualmente ti da un errore.

    Se provi ad usare la sessione come se fosse gi� inizializzata senza crearne una nuova dovrebbe funzionare bene.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    5
    Questo vorrebbe dire però andare a modificare il codice del CMS?
    Mi aspettavo che se è rilasciato come stabile, questo problema fosse mio e di configurazione, non del prodotto stesso.

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2016
    Messaggi
    783
    In realt� credevo che il codice che creava problemi fosse stato scritto da te e non facesse parte del pacchetto prestashop.
    Sembra che tu passi da wordpress a prestashop, forse la sessione te la inizia wordpress, e poi quando passi su prestashop ti arriva l'errore?

    Scusa ma non sono un grande esperto di prestashop, quindi potrei dirti delle cavolate.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    5
    E' proprio il dubbio che avevo io stesso. E' la prima volta che installo Prestashop, e ad essere onesto non so neanche cosa sia Symfony .
    Però l'idea che mi ero fatto era proprio che la concorrenza con WP creasse problemi. Anche perché al momento dell'installazione mi ha bloccato proprio Ninja Firewall, che è il firewall di WP.

    Ho allora trovato questa istruzione da inserire nella dichiarazione del VirtualHost per scrivere le sessioni di Prestashop altrove, ma non ho ottenuto risultati:

    codice:
    php_value session.save_path "/opt/wp/php/tmp-rr"

    Come posso evitare che WP interferisca con l'altro CMS?

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    5
    Solo come aggiornamento, ho installato la versione precedente del CMS, la 1.6, che credo non utilizzi neanche Symfony.
    Sembra funzionare, anche se mi sarebbe piaciuto comprendere il problema.

  7. #7
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Prestashop ce l'hai in una sottocartella o in un sottodominio?
    Se ce l'hai in una sottocartella, la sessione di Wordpress te la porti dietro e Prestashop la trova già inizializzata, se ce l'hai in un sottodominio invece, le sessioni saranno separate e non dovrebbe darti il problema.

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.