Сегментация PHP дает сбой при использовании больше, чем 128M

define(`confSMTP_LOGIN_MSG', `$j; $b')dnl

Также настройте /etc/hosts файл как ниже

xxx.xxx.xxx.xxx           server server.yourdomain.com server
127.0.0.1                 server server.yourdomain.com server
2
задан 31 January 2013 в 14:53
2 ответа

This is as close as I have got, and probably as far as I am going to get for now:

  1. SugarCRM does not error-check its file writing commands properly, so is sometimes unaware that a file has not been written.

  2. SugarCRM writes a lot of cache files when it constructs its run-time files on first running.

  3. When constructing these cache files, some incorrect permissions resulted in some files not being written correctly.

  4. The missing files put SugarCRM into an endless recursive loop, with the cache-writing method calling itself up recursively.

  5. With PHP's memory_limit set to great than 128M, rather than reporting that the process has run out of memory, it segmentation faults. Below 128M and the PHP process is killed more cleanly. I can only assume this is a PHP bug, or a bug in a plugin (not APC). Where the 128M value comes from, I don't know.

I fixed it by reinstalling SugarCRM, setting all files and directories to 777, and then it works. Permissions will now need to be wound back until I find where it is failing. A ticket to SugarCRM (community edition) will be useful, as will a ticket to PHP (though I expect I will be unable to give them the core dumps they inevitably request, so that may be a dead end).

Thanks for your suggestions all. I do hope this is useful to others.

2
ответ дан 3 December 2019 в 10:51

Избавьтесь от APC и замените его одним из его альтернатив eAccelerator или XCache. Это было причиной многих лет таинственных сбоев, подобных этой, в моей производственной среде, и все они исчезли, как только исчезла APC.

1
ответ дан 3 December 2019 в 10:51

Теги

Похожие вопросы