Intereting Posts
Laravel: Получить объект из коллекции по атрибуту Как изменить порядок сообщений по количеству просмотров, а не по дате в wordpress как я могу показать php-страницу только один раз для каждого пользователя Пользовательский created_at и использовать только custom created_at как сгенерировать PDF с использованием вида блейдов с tcpdf laravel 5? Рекомендации для статических конструкторов (PHP) Распространение содержимого массива равномерно по фиксированному числу столбцов Автозаполнение формы, заполненной базой данных? Как решить «Ошибка вызова неопределенной функции dbase_open ()» в окнах Пользовательское поле Drupal 7 сохраняет только первый символ Объект не имеет свойства – php soap wsdl Как отправить значение на страницу с несколькими php? Выпадающий список, где параметры заполняют второй список js / php? Получить все изображения из определенного альбома Facebook с помощью Graph API PHP SDK Проверка доступности AJAX с кнопкой отправки (часть 2)

Symfony вызывает сборщик мусора PHP на Ubuntu 14.04, даже если session.gc_probability установлен в 0

Поскольку состояние заголовка по какой-то причине мое приложение Symfony 2.5 вызывает сборщик мусора php, даже если у всех моих файлов php.ini есть:

session.gc_probability = 0 

Кто-нибудь знает, как предотвратить это?

Сообщение об ошибке im получение:

 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 

FROM PHPINFO ():

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

Я знаю, что могу просто предоставить пользователю www-data разрешение на доступ к папке /var/lib/php5 или изменить session.save_path где-то, к которому пользователь www-data имеет доступ, но я хочу знать, почему этот процесс даже вызов, когда он должен быть отключен.

Я нашел его, я думаю, последняя версия Symfony перезаписывает это по умолчанию при использовании app_dev.php . Symfony FrameworkBundle устанавливает session.gc_probability = 1 .

С Symfony 3

Однако некоторые операционные системы выполняют свою собственную обработку сеанса и устанавливают переменную session.gc_probability равным 0, чтобы остановить сборку мусора PHP. Вот почему Symfony теперь перезаписывает это значение до 1.

Если вы хотите использовать исходное значение, установленное в php.ini, добавьте следующую конфигурацию:

 # config.yml framework: session: gc_probability: null 

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

Предыдущие версии 2.x

Чтобы изменить это, добавьте следующее в свой config.yml

 framework: session: gc_probability: 0 

Затем очистите кэш разработчика

 php app/console cache:clear 

Здесь показано, что gc_probability умолчанию имеет значение 1 . Почему они просто не читают из настроек php.ini, я не уверен.

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

Вы можете задать путь для сеансов вручную. См. Раздел Symfony doc в каталоге сессий .

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