php symfony garbage-collection symfony-2.5

Symfony llama al recolector de basura de PHP en Ubuntu 14.04 incluso cuando session.gc_probability se establece en 0



garbage-collection symfony-2.5 (2)

Lo encontré, supongo que la última versión de Symfony está sobreescribiendo esto de forma predeterminada cuando se usa app_dev.php . Symfony FrameworkBundle está configurando session.gc_probability = 1 .

A partir de Symfony 3

Sin embargo, algunos sistemas operativos hacen su propio manejo de sesión y establecen la variable session.gc_probability en 0 para detener PHP que realiza la recolección de basura. Es por eso que Symfony ahora sobrescribe este valor a 1.

Si desea utilizar el valor original establecido en su php.ini, agregue la siguiente configuración:

# config.yml framework: session: gc_probability: null

https://symfony.com/doc/current/components/http_foundation/session_configuration.html#configuring-garbage-collection

Versiones 2.x anteriores

Para cambiar esto, agregue lo siguiente a su config.yml

framework: session: gc_probability: 0

A continuación, borre la caché del desarrollador

php app/console cache:clear

Aquí es donde se muestra la gc_probability predeterminada en 1 . Por qué no solo leen los ajustes de php.ini no estoy seguro.

http://symfony.com/doc/2.5/reference/configuration/framework.html#gc-probability

Como el título indica por alguna razón, mi aplicación Symfony 2.5 llama al recolector de basura php incluso cuando todos mis archivos php.ini tienen:

session.gc_probability = 0

¿Alguien sabe cómo evitar que esto suceda?

Mensaje de error im getting:

Notice: SessionHandler::gc(): ps_files_cleanup_dir: opendir(/var/lib/php5) failed: Permission denied (13) in /<path-to-my-site>/var/cache/dev/classes.php line 432

DESDE PHPINFO ():

Directive Local Value Master Value session.gc_divisor 1000 1000 session.gc_maxlifetime 86400 86400 session.gc_probability 0 0

Sé que puedo dar el permiso de usuario de www-data a la carpeta /var/lib/php5 o cambiar session.save_path a algún lugar al que el usuario de www-data tenga acceso, pero quiero saber por qué este proceso es par llamándose cuando debería estar deshabilitado.


Puede establecer la ruta de las sesiones de forma manual. Ver Symfony doc en el directorio de sesiones .

# app/config/config.yml framework: session: handler_id: session.handler.native_file save_path: ''%kernel.root_dir%/sessions''