Set your file permissions of the SuiteCRM directory to the user of web server eg. www-data, httpd etc… Make sure you set the permissions so that SuiteCRM has write access. Sometimes this is caused by the permissions set in the config.php file:
I’m having the exact same problem. My permissions are set as suggested, my php error report is: error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT. This is on Ubuntu 14.04 w/ php5.5
the problem is not permission related but has to do with the Zend op-cache.
When saving a field, SuiteCRM saves the vardef info to file en then rereads this PHP data. The Zend op-cache however supplies the cached version of the file instead of the newly written version.
I see that this workaround solves the issue very nice on the module builder, but not on the studio for the modules already deployed on the system. Relations and fields management works really unstable on the studio actually.
I don’t know the code yet but doing a little research i found that there is a similar file to the file_utils.php which is called sugar_file_utils.php.
I saw on this file that there is the same function called sugar_file_put_contents, my question is if we should apply the same workaround on this file too.
I was wondering to apply something like that on the file_utils.php ( again, i don’t know the code yet and this come from the common sense ). By the way the sugar_file_utils.php is required_once on the file_utils.php , but anyway i’m suspecting that for the studio the application might call directly the sugar_file_utils.php instead of the file_utils.php.
Hi, you’re absolutely right that this issue manifests itself in more places, like
editing dropdowns
editing layouts
installing modules (SQL not executed)
Adding the fix the the method you proposed would alleviate some of these issues. However, from an architecture viewpoint, the fix should be implemented in SugarCache::cleanFile (include/SugarCache/SugarCache.php), where there is already a fix for APC caching.
SugarCache however should not be called in file_utils.php, because that’s too low level, instead it should be called in those classes that write vardef data (and subsequently call “write_array_to_file” or “sugar_file_put_contents” )
Thanks for your reply – I realized that the issue would probably persist throughout other modules, so I´ve turned off the cache. It´s a shame though, as the cache does improve performance.
@jansiero : That´s weired, as my version is 7.11.20…I might have updated though, so maybe it wasn´t included there? As this is a development instance only, I could try a fresh install…
The upgrade can not fixed this issue because there is main problem in file structure of SuiteCRM has . Some files is reading several times for one script cycle.
@p.konetskiy, the tabledictionary contains references to metadata which describe relations between modules. This tabledirectory should not affect normal fields (maybe however relate fields) as this field information are not saved in the tabledictionary.
The extra database repair and rebuild that you included in your module post_install.php should not be necessary anymore in 7.11.19 / 7.10.30 and later, but I’ll try it out to make sure.