Nginx – Memcached vs Amazon Elasticache with PHP on CentOS 7

amazon-web-servicesmemcachednginxPHP

I setup a new CentOS 7 server in Vagrant to run PHP, nginx, MySQL (MariaDB) and memcached (note the d on the end). I can get memcached to run fine, but I can't get the Amazon Elasticache .so file to be loaded by PHP. I know the file exists. How do I get PHP to load this extension, or troubleshoot why it won't?

I have followed the instructions for installing this extension here: Installing the ElastiCache Cluster Client for PHP

How do I troubleshoot PHP and why it may not load an extension?

Best Answer

In addition to @Bazze's excellent comment regarding libsas, you may be missing a dependency ( or a dependency on the right architecture)

Note that it is fairly common to have to install both 32-bit and 64-bit libraries for some applications.

If you use ldd /path/to/amazon-elasticache-cluster-client.so, do you see any lines mentioning ‘unresolved’ or similar? (Post the whole output in your question.

A common problem such as this may just be resolved by running ldconfig, which should be run after installing (or adding symlinks to) libraries.

Another problem might be related to permissions or access-control systems such as SELinux. What does sestatus show? Perhaps you need to run restorecon over the directory containing the libraries.