Я прочитал множество постов о проблемах семафора, но, похоже, ни один из них не связан с этой конкретной проблемой. Я использую Apache 2.4 и PHP 7.1 как часть Zend Server CE, и при запуске службы Apache в журнале ошибок Apache появляется следующая неустранимая ошибка:
ZShmStorage(): Fatal error: failed to allocate semaphore. Permission denied
Я предполагаю, что это связано с общим хранилищем памяти, но мне неясно ...
- что на самом деле пытается выделить семафор для
- где искать конфигурацию, относящуюся к указанному семафору
Я подумал, что, возможно, это связано с Zend Cache, поэтому я убедился, что разрешения выглядят правильно для [ZendServerPath]/tmp/datacache
.
Я также подумал, что это может быть связано с PHP Sessions, поэтому я убедился, что каталог, указанный для session.save_path
в файле [ZendServerPath]/etc/php.ini
, также имеет надлежащие разрешения.
I'm не знаете, где еще искать, поскольку, кажется, нет никаких дискуссий (которые я нашел), касающихся этого, но вместо этого все дело в доступном пространстве и еще много чего. Не имея шансов, что это было связано с чем-то, что не выполнялось во время распределения, я продолжил выполнение ipcs -s
и заметил, что во время работы Zend Server присутствовало ~ 20 семафорных массивов. Я остановил службу и снова запустил ipcs -s
- никаких семафорных массивов не осталось. Перезапустил службу Zend Server, и ошибка возникла снова, и ~ 20 семафорных массивов также были перераспределены.
Буду признателен за любую помощь или информацию, указывающую мне правильное направление.