【发布时间】:2020-01-06 01:25:32
【问题描述】:
我已经阅读了很多关于信号量问题的帖子,但似乎没有一个与这个特定问题有关。我正在运行 Apache 2.4 和 PHP 7.1 作为 Zend Server CE 的一部分,当启动 Apache 服务时,Apache 错误日志中显示以下致命错误:
ZShmStorage(): Fatal error: failed to allocate semaphore. Permission denied
我猜这与共享内存存储有关,但我不清楚......
- 它实际上试图为什么分配信号量
- 在哪里查找与所述信号量相关的配置
我认为这可能与 Zend 缓存有关,因此我确保 [ZendServerPath]/tmp/datacache 的权限看起来正确。
我还认为可能与 PHP 会话有关,因此我确保为 [ZendServerPath]/etc/php.ini 文件中的 session.save_path 指定的目录也具有适当的权限。
我不确定该去哪里寻找,因为似乎没有任何与此相关的讨论(我发现),而是所有关于可用空间之类的东西。万一它与分配过程中出现的问题有关,我继续执行ipcs -s 并注意到在 Zend 服务器运行时存在大约 20 个信号量数组。我停止了服务并再次运行ipcs -s - 没有信号量阵列留下来。重新启动 Zend Server 服务,再次遇到错误,也重新分配了大约 20 个信号量数组。
任何能指引我正确方向的帮助或信息将不胜感激。
【问题讨论】:
标签: apache permissions semaphore fatal-error zend-server-ce