Lighttpd php 段错误位于 0000000000000040 rip 0000003e30228278 rsp 0000007fbffff708 错误 4
我最近注意到了这个错误。虽然服务器继续正常工作,但在某些时候您的服务器会崩溃。最好修复这个错误。主要问题是chrooted lighttpd安装。一些库未被复制。您需要使用 ldd 命令来查找库的名称。在我的情况下,它是 curl 库使用了我的 DOMXML php 模块。使用以下步骤来跟踪所需的库:
# mkdir /webroot/bin
# cp /bin/bash /webroot/bin
# cp /usr/bin/strace /webroot/bin
# l2chroot /usr/bin/strace
# l2chroot /bin/bash
# chroot /webroot
# strace php /path/to/script.php 2> /tmp/debug.txt
# exit
# vi /webroot/tmp/debug.txt
现在找出未找到的共享库。接下来,您需要将所有缺失的库复制到 /lib 或 /usr/lib 位置。您需要重复上述过程,直到所有未复制到 chroot jail 的共享库都完成。
如果您在 chroot jail 中运行 Apache 或 lighttpd,则建议采用以下解决方案。
将所有共享库从 /lib 和 /usr/lib 复制到 /chroot 目录。但不要从 /bin/ /usr/bin 或 /usr/sbin 目录复制任何可执行文件。
# cp -avr /lib/ /chroot/lib/
# cp -avr /usr/lib/ /chroot/usr/lib/
上述解决方案非常安全,我已成功将其实现为高性能 Apache 共享负载平衡业务托管。使用 6 个 Apache Web 服务器和 2 个节点 MySQL 集群托管了 800 多个站点。
故障排除后,不要忘记删除 /chroot/bin 目录和所有文件。