2023 - 12

Once PHP is installed, but new extention is required, it is always recommended to run the following, take ldap for example,

cd ext/
cd ldap/
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make
make install

then all is done.

Config opcache for php8 to ensure the maximum performance of your server, after you have installed it, config like the following,

Your php.ini file should contain the following directives:

zend_extension=opcache.so

opcache.enable=1
opcache.enable_cli=1
opcache.jit_buffer_size=500000000
opcache.jit=1235
opcache.revalidate_freq=0
opcache.validate_timestamps=1
opcache.max_accelerated_files=10000
opcache.memory_consumption=192
opcache.max_wasted_percentage=10
opcache.interned_strings_buffer=16
opcache.fast_shutdown=1

ref https://medium.com/@edouard.courty/make-your-php-8-apps-twice-as-fast-opcache-jit-8d3542276595

Sometimes when we update the drupal major version from 8.x to 9.x or even to 10.x, we will have problems with the modules, for example, there might be multiple installations of the single module, that is, you wil find the modules in two directories,

/modules/modulename
/modules/contrib/modulename

This is because the old module is installed manually and the contrib/ is installed by composer, to solve the problem, you have to do the following,

remove the /modules/modulename and run

vendor/bin/drush cr

to rebuild the cache registry, this will ensure the module is actually called from /modules/contrib/modulename.

Incase your module is not found in the /modules/contrib directory, you will need to run

composer require drupal/modulename

and then remove the module/modulename, run drush cr again.