Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Added a note about session data size in PdoSessionHandler#5516

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Closed
javiereguiluz wants to merge2 commits intosymfony:2.3fromjaviereguiluz:fix_5269
Closed
Changes fromall commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 22 additions & 10 deletionscookbook/configuration/pdo_session_storage.rst
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -7,7 +7,7 @@ How to Use PdoSessionHandler to Store Sessions in the Database
The default Symfony session storage writes the session information to files.
Most medium to large websites use a database to store the session values
instead of files, because databases are easier to use and scale in a
multi webserver environment.
multiple web server environment.

Symfony has a built-in solution for database session storage called
:class:`Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\PdoSessionHandler`.
Expand DownExpand Up@@ -172,15 +172,18 @@ of your project's data, you can use the connection settings from the
'%database_password%',
));

Example SQL Statements
----------------------
.. _example-sql-statements:

Preparing the Database to Store Sessions
----------------------------------------

Before storing sessions in the database, you must create the table that stores
the information. The following sections contain some examples of the SQL statements
you may use for your specific database engine.

MySQL
~~~~~

The SQL statement for creating the needed database table might look like the
following (MySQL):

.. code-block:: sql

CREATE TABLE `session` (
Expand All@@ -193,8 +196,6 @@ following (MySQL):
PostgreSQL
~~~~~~~~~~

For PostgreSQL, the statement should look like this:

.. code-block:: sql

CREATE TABLE session (
Expand All@@ -207,8 +208,6 @@ For PostgreSQL, the statement should look like this:
Microsoft SQL Server
~~~~~~~~~~~~~~~~~~~~

For MSSQL, the statement might look like the following:

.. code-block:: sql

CREATE TABLE [dbo].[session](
Expand All@@ -225,3 +224,16 @@ For MSSQL, the statement might look like the following:
ALLOW_PAGE_LOCKS = ON
) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

.. note::

If the session data doesn't fit in the data column, it might get truncated
by the database engine. To make matters worse, when the session data gets
corrupted, PHP ignores the data without giving a warning.

If the application stores large amounts of session data, this problem can
be solved by increasing the column size (use ``BLOB`` or even ``MEDIUMBLOB``).
When using MySQL as the database engine, you can also enable the `strict SQL mode`_
to get noticed when such an error happens.

.. _`strict SQL mode`: https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html

[8]ページ先頭

©2009-2025 Movatter.jp