ECOMMERCEMagento DevelopmentMagento 2 MigrationOdoo ERPOdoo ERP MigrationCRM for CommerceLAMP TECHNOLOGYPHP Website DevelopmentLaravel DevelopmentWordPress DevelopmentSymfony DevelopmentProgressive Web AppsMOBILEiPhone App DevelopmentAndroid App DevelopmentHybrid App DevelopmentMobile CommerceXamarin App DevelopmentNODE.JS & MONGODBFull Stack DevelopmentMEAN StackAngularJS & ReactJSNode.JS DevelopmentReact Native DevelopmentMICROSOFTASP.NET DevelopmentASP.NET Core DevelopmentSharePoint DevelopmentPowerBI DevelopmentArtificial Intelligence/MLCLOUD SERVICESDevOpsAmazon Web ServicesAzure Cloud ServiceGoogle App Engine ServicesPowerApps & Office 365ENTERPRISE SERVICESAugmented RealityCRMEnterprise Mobility ServicesBlockchain ServicesData AnalyticsDIGITAL MARKETINGSearch Engine OptimizationPaid AdvertisingSocial Media MarketingSEO for eCommerceContent MarketingRetailReal EstateEducationFinanceHealthcareMedia & EntertainmentLogisticsAdvertisingDiamond and JewelryAutomotiveMobile and WirelessCloud ServicesGamingIOTBlockchainRetail Omni Channel ERPAuro CRMMulti Vendor MarketplaceBvPOS SystemFacebook BotManaged Analytics- EzlytixPowerBI Managed AnalyticsDiamond ERPUniversity Management- MantisDigital Asset Profanity- eUnagiHRMSCash in TransitALM with TFSABOUT USFactsheetAbout BrainvireHistoryExecutive LeadershipCore ValuesLife @ BrainvireOur ClientsClient TestimonialsClient’s Video TestimonialsClutch Testimonials

Symfony2 Store Sessions in the Database

With Symfony 2 development you have a built in solution for storing sessions in the database. This is called PdoSessionHandler. In order to use this option in Symfony 2, you need to change a few parameters here and there. The config.yml file is a good start.

# app/config/config.yml
        # ...
        handler_id: session.handler.pdo

        db_table:    session
        db_id_col:   session_id
        db_data_col: session_value
        db_time_col: session_time

        class: PDO
            dsn:      "mysql:dbname=mydatabase"
            user:     myuser
            password: mypassword
            - [setAttribute, [3, 2]] # PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION

        class:     SymfonyComponentHttpFoundationSessionStorageHandlerPdoSessionHandler
        arguments: ["@pdo", "%pdo.db_options%"]

Here are the details:
db_table is the name of the session table in the database
db_id_col is the name of the id column in your session table (VARCHAR(255) or larger)
db_data_col is the name of the value column in your session table (TEXT or CLOB)
db_time_col is the name of the time column in your session table (INTEGER)

Sharing Database Connection Information
The database connection settings in the given example are defines for session storage connections only. This works fine if you use separate database for session data. If you require to store the session data in the same database as your project data, the parameters.yml file needs to be tweaked. By referencing the database related parameters.

    class: PDO
        - "mysql:host=%database_host%;port=%database_port%;dbname=%database_name%"
        - "%database_user%"
        - "%database_password%"

Symfony 2 defaults to store the session information in files. But many medium or large websites prefer to store this information to databases. Databases can easily scale in a multi website environment. These were a few tips to configure the session information to be stored in the database instead of files.

In search for strategic sessions?
Let us understand your business thoroughly and help you strategies your digital product..
Book a session
Rate Us!
4.98/5 (216)