CentOS 7 上 Memcached 与 Amazon Elasticache 与 PHP 对比

CentOS 7 上 Memcached 与 Amazon Elasticache 与 PHP 对比

我在 Vagrant 中设置了一个新的 CentOS 7 服务器来运行 PHP、nginx、MySQL(MariaDB)和 memcached(注意末尾的 d)。我可以让 memcached 正常运行,但无法让 PHP 加载 Amazon Elasticache .so 文件。我知道该文件存在。我如何让 PHP 加载此扩展,或者排除它无法加载的原因?

我已按照此处的说明安装此扩展:安装适用于 PHP 的 ElastiCache 集群客户端

如何解决 PHP 问题以及为什么它可能无法加载扩展?

答案1

除了@Bazze 关于 libsas 的出色评论之外,您可能还缺少依赖项(或对正确架构的依赖项)

请注意,对于某些应用程序来说,必须同时安装 32 位和 64 位库是很常见的。

如果您使用ldd /path/to/amazon-elasticache-cluster-client.so,您是否看到任何提到“未解决”或类似内容的行?(将整个输出发布在您的问题中。

诸如此类的常见问题可能只需通过运行即可解决ldconfig,它应该在安装(或添加符号链接)库后运行。

另一个问题可能与权限或访问控制系统(如 SELinux)有关。sestatus显示什么?也许您需要遍历restorecon包含库的目录。

答案2

有时只需在命令行输入:

$ php -m

查看已加载的模块将显示有关某些模块未加载的原因的信息。此外,命令行有时会显示导致模块无法加载的 ini 文件语法错误:

$ php --ini

这些是我调试未加载的模块时要做的第一件事。

相关内容