Wondering how to install PECL 7 modules on Elastic Beanstalk? We can help you.
Here at Bobcares, we often handle requests from our customers to Install PECL as a part of our Server Management Services.
Today we will see how our Support Engineers do this for our customers.
How to install PECL 7 modules on Elastic Beanstalk?
Please follow the below steps to install PECL:
- Firstly, install any dependencies.
- Create a Linux configuration file (.ebextensions) to install and run the PECL 7 modules.
The following PHP extensions are already included with the release of the PHP platform on Amazon Linux 2:
- php-pecl-redis (for communication with the Redis key-value store)
- php-pecl-memcached (for the Memcached caching daemon)
You can install PECL PHP extensions on any PHP environment that has PEAR support.
PECL will install by default on the Elastic Beanstalk PHP stack and is provided by the php-pear RPM.
Install the Redis extension
1.In the .ebextensions directory in the root of the source bundle of your application, create a .ebextension file based on the following example:
commands:
01_install_redis:
command: /usr/bin/yes 'no'| /usr/bin/pecl7 install redis
test: '! /usr/bin/pecl7 info redis'
02_rmfromphpini:
command: /bin/sed -i -e '/extension="redis.so"/d' /etc/php.ini
03_createconf:
command: /bin/echo 'extension="redis.so"' > /etc/php-7.3.d/41-redis.ini
test: /usr/bin/pecl7 info redis
The .ebextension does the following:
Installs the Redis extension (01_install_redis)
Removes the entry that the pecl7 command creates on the /etc/php.ini file to load the extension (02_rmfromphpini)
Creates a configuration file that loads the Redis module (03_createconf), which requires that the default JSON module loads before the Redis module
2.Then, deploy the new version of your application to your Elastic Beanstalk environment.
3.Connect to your instance using SSH, and then run the following command:
php -m | egrep '(redis)'
Output:
$ php -m | egrep '(redis)'
redis
Install the Memcached extension
1.In the .ebextensions directory in the root of the source bundle of your application, create a .ebextension file based on the following example:
packages:
yum:
libmemcached-devel: []
The preceding .ebextension installs libmemcached-devel, which is a prerequisite for installing the Memcached extension.
2.In the .ebextensions directory in the root of the source bundle of your application, create a .ebextension file based on the following example:
commands:
01_install_memcached:
command: /usr/bin/yes 'no'| /usr/bin/pecl7 install memcached
test: '! /usr/bin/pecl7 info memcached'
02_rmfromphpini:
command: /bin/sed -i -e '/extension="memcached.so"/d' /etc/php.ini
03_createconf:
command: /bin/echo 'extension="memcached.so"' > /etc/php-7.3.d/41-memcached.ini
test: '/usr/bin/pecl7 info memcached'
The .ebextension does the following:
Installs the Memcached extension (01_install_memcached)
Removes the entry that the pecl7 command creates in the /etc/php.ini file to load the extension (02_rmfromphpini)
Creates a configuration file that loads the Memcached extension (03_createconf)
3.Then, deploy the new version of your application to your Elastic Beanstalk environment.
4.Finally, connect to your instance using SSH, and then run the following command:
php -m | egrep '(memcached)'
Output:
$ php -m | egrep '(memcached)'
memcached
[Need assistance with the procedure? We can help you]
Conclusion
To conclude, we saw the steps that our Support Techs follow to Install PECL 7 modules on Elastic Beanstalk.
0 Comments