acsiomatic / device-detector-bundle

Symfony Bundle for https://github.com/matomo-org/device-detector
https://packagist.org/packages/acsiomatic/device-detector-bundle
MIT License
10 stars 1 forks source link

Proxy file generated on every request #37

Open koekaverna opened 9 months ago

koekaverna commented 9 months ago

Hello, first of all I would like to thank you for developing this bundle.

I found one bug in our production, because var/cache folder is readonly and writing is only available at warmup. I got error:

Cannot rename \"/tmp/AcsiomaticDeviceDetectorBundle__PM__DeviceDetectorDeviceDetecto16oePZ\" to \"/var/www/html/var/cache/prod/AcsiomaticDeviceDetectorBundle/AcsiomaticDeviceDetectorBundle__PM__DeviceDetectorDeviceDetectorGeneratedd1
e8956d6a5423635e0218acd8c636ae.php\": rename(/tmp/AcsiomaticDeviceDetectorBundle__PM__DeviceDetectorDeviceDetecto16oePZ,/var/www/html/var/cache/prod/AcsiomaticDeviceDetectorBundle/AcsiomaticDeviceDetectorBundle__PM__DeviceDetectorDeviceDetectorGeneratedd1e8956d6a5423635e0218acd8c636ae.php

I found the problem in return $factory->createProxy(...). It looking for class_exists before generating new class, but it's not loaded and there is no autoloading for this class. I cheked how it works in DoctrineMongoDBBundle and found how they use it

I made the fix using same aproach: PR: https://github.com/acsiomatic/device-detector-bundle/pull/36