Cara Mudah Mengganti Versi PHP di SSH/Shell Cyberpanel
Saya sempat dipusingkan dengan kendala menginstall plugin laravel dari composer di remote server dengan OS Centos dan Panel Cyberpanel (Openlightspeed server) dengan error seperti ini:
PHP Fatal error: Allowed memory size of 1610612736 bytes exhausted (tried to allocate 32 bytes) in phar:///usr/bin/composer/src/Composer/DependencyResolver/Rule2Literals.php on line 48 Fatal error: Allowed memory size of 1610612736 bytes exhausted (tried to allocate 32 bytes) in phar:///usr/bin/composer/src/Composer/DependencyResolver/Rule2Literals.php on line 48 Check https://getcomposer.org/doc/articles/troubleshooting.md#memory-limit-errors for more info on how to handle out of memory errors.
Dan sudah saya coba berulang kali dengan mengupdate memory_limit di php.ini bahkan dengan nilai tidak ada batasan (-1), swap sudah saya atur 4 giga dengan tweak yang sudah di sesuaikan, dan mengupgrade RAM menjadi 2GB, bahkan composer sudah saya berikan hak leluasa tanpa batas untuk menggunakan seluruh memory yang tersedia namun semuanya tidak tetap saja error. Setelah saya cek versi php yang berjalan di dalam shell, ternyata masih menggunakan versi 5.4 yang memang sudah sangat jadul 🙁
Memang, composer bisa berjalan di php versi 5.3.2 (https://getcomposer.org/doc/00-intro.md#system-requirements), tetapi laravel 5.8 membutuhkan php dengan versi lebih tinggi yaitu minimal 7.1.3 (https://laravel.com/docs/5.8/installation#server-requirements).
Dan alhamdulillah saya menemukan langkah mudah untuk mengatasi error itu, yaitu dengan mengganti versi php default di shell terlebih dahulu.
Berikut ini cara Mudah Mengganti Versi PHP di SSH/Shell Cyberpanel
Yang pertama harus diperhatikan, bahwa di dalam Cyberpanel yang berjalan dengan multi php, file-file php tersebut berada di /usr/local/lsws/lsphpXX/bin/php . XX tersebut bersisi versi php yang bersangkutan, misal php versi 7.3 maka direktorinya berada di /usr/local/lsws/lsphp73/bin/php .
Maka, jika hendak mengganti php default menjadi versi 7.3 yang berjalan di shell, perlu melakukan perintah berikut ini:
cp /usr/local/lsws/lsphp73/bin/php /usr/bin
Ingat yaa, harus dengan menggunakan akses root. Maka jadilah versinya menjadi 7.3 😀
Setelah itu maka saya bisa menggunakan composer untuk menginstall plugin ( composer require jenssegers/agent ) dengan semestinya, dan berakhir successfully 😀