Cara menggunakan compile php with-sodium support

I come from PHP 5 (mcrypt) and need to migrate to libsodium. Even tough sodium should be part of PHP 7.2 by default, without the need for a PECL extension, all sodium function calls failed.
My DA install is 100% fresh, with only PHP 7.2 (CentOS 7 with php-fpm).

Here is what i did to make it working:

Install sodium:

Code:

yum install libsodium-devel


Reconfigure PHP (follow this guide to see how):

Code:

cd /usr/local/directadmin/custombuild
mkdir -p custom/fpm
cp -fp configure/fpm/configure.php72 custom/fpm/configure.php72
nano custom/fpm/configure.php72


Add "--with-sodium" to the file & rebuild PHP:

Code:

./build php n


Check result:

Code:

php -i | grep sodium


Should give you now output like:

Code:

Configure Command =>  './configure'  '--prefix=/usr/local/php72' '--program-suffix=72' '--enable-fpm' '--with-fpm-systemd' '--with-config-file-scan-dir=/usr/local/php72/lib/php.conf.d' '--with-curl' '--with-gd' '--with-gettext' '--with-jpeg-dir=/usr/local/lib' '--with-freetype-dir=/usr/local/lib' '--with-libxml-dir=/usr/local/lib' '--with-kerberos' '--with-openssl' '--with-mhash' '--with-mysql-sock=/var/lib/mysql/mysql.sock' '--with-mysqli=mysqlnd' '--with-pcre-regex=/usr/local' '--with-pdo-mysql=mysqlnd' '--with-pear' '--with-png-dir=/usr/local/lib' '--with-xsl' '--with-zlib' '--enable-zip' '--with-iconv=/usr/local' '--enable-bcmath' '--enable-calendar' '--enable-ftp' '--enable-sockets' '--enable-soap' '--enable-mbstring' '--with-icu-dir=/usr/local/icu' '--with-sodium' '--enable-intl'
sodium
sodium support => enabled
libsodium headers version => 1.0.16
libsodium library version => 1.0.16


Restart PHP for apache:

Code:

/bin/systemctl restart php-fpm72


Hope this helps someone, but it would be cool if the DA script would add the '--with-sodium' dynamically if it was existing on the system.

Now continue to dive into sodium! https://blog.zend.com/2018/11/06/modern-cryptography-in-php-7-2-with-sodium

 

Halo semuanya, pada blog kali ini saya coba membagikan cara upagrade PHP7 ke PHP8 di XAMPP. XAMPP merupakan sebuah software untuk membuat aplikasi berbasis website XAMPP sendiri singkatan dari X(Cross), A(Apache), M(Mysql), P(PHP), P(Perl).

Kalau kalian lihat di website download XAMPP kini sudah tersedia XAMPP dengan versi 8 https://www.apachefriends.org/download.html. Tapi kalau XAMPP kamu masih menggunakan PHP7 dan kamu mau upgrade ke PHP8, tutorial ini mungkin cocok buat kamu.

Tapi sebelumnya ada apa sih di PHP8 ? PHP8 kini mengadopsi JIT Compiler yang membuat versi ini menjadi lebih cepat dibanding versi sebelumnya.

Ditutorial ini saya menggunakan XAMPP versi ke v3.3.0

Cek Versi PHP di XAMPP

Sebelumnya yuk kita cek dulu versi PHP di XAMPP masing-masing, caranya.

  1. Jalankan dulu XAMPP nyaa yaa kan. Disini sudah berjalan di port 3030

    Cara menggunakan compile php with-sodium support

  2. Sekarang buat folder version di htdocs kalian lalu buat file di dalammnya phpinfo.php

    Cara menggunakan compile php with-sodium support

  3. Lalu buka menggunakan Notepad / Notepad++ biar cepat. Dan ketik

    <?php
    phpinfo();
    ?>
    
  4. Yang terakhir buka link http://localhost:3030/version/phpinfo.php. Sesuaikan sama port Apache kamu berjalan yaa, kalau jalan di port 5000 maka link nya http://localhost:5000/version/phpinfo.php

Nahh kamu akan menemukan versi PHP kamu dan nanti tampilannya jadi seperti ini

Cara menggunakan compile php with-sodium support

Disini saya masih menggunakan PHP7 versinya 7.3.33. Kalau kalian sudah menggunakan PHP8, kalian lebih baik stop sampai disini tutorialnya 😄 karena kalian sudah sesuai target.

Tapi bagi kalian yang masih PHP7 yukk kita lanjutkan.

Upgrade PHP7 ke PHP8

  1. Download dulu PHP8 nya di https://windows.php.net/download. Pada saat saya membuat tutorial ini (28 November 2021) versi PHP yang terbaru adalah 8.1.0. Tapi di website download XMAPP, XAMPP baru support untuk 8.0.13. Jadi saya download PHP versi 8.0.13.

  2. Klik zip untuk mendownload, pilih yang bagian VS16 x64 Thread Safe (2021-Nov-16 22:28:26) yaa atau klik link ini https://windows.php.net/downloads/releases/php-8.0.13-Win32-vs16-x64.zip untuk langsung mendownload

    Cara menggunakan compile php with-sodium support

  3. Jika sudah berhasil silahkan ekstrak zip tersebut

  4. Copy folder hasil ekstrak ke folder utama xampp, kalau di saya di C:/xampp

    Cara menggunakan compile php with-sodium support

  5. Matikan dahulu service Apache di XAMPP nya

    Cara menggunakan compile php with-sodium support

  6. Folder

    LoadFile "C:/xampp/php/php7ts.dll"
    LoadFile "C:/xampp/php/libpq.dll"
    LoadModule php7_module "C:/xampp/php/php7apache2_4.dll"
    
    0 di folder xampp ubah nama nya menjadi
    LoadFile "C:/xampp/php/php7ts.dll"
    LoadFile "C:/xampp/php/libpq.dll"
    LoadModule php7_module "C:/xampp/php/php7apache2_4.dll"
    
    2. Alasan saya mengubah ini untuk jaga-jaga ketika PHP8 ada kendala jadi saya tidak perlu mendownload PHP7 lagi.
    Cara menggunakan compile php with-sodium support

  7. Folder folder hasil ekstrak yaitu

    LoadFile "C:/xampp/php/php7ts.dll"
    LoadFile "C:/xampp/php/libpq.dll"
    LoadModule php7_module "C:/xampp/php/php7apache2_4.dll"
    
    3 tadi silahkan ubah nama nya menjadi
    LoadFile "C:/xampp/php/php7ts.dll"
    LoadFile "C:/xampp/php/libpq.dll"
    LoadModule php7_module "C:/xampp/php/php7apache2_4.dll"
    
    0
    Cara menggunakan compile php with-sodium support

  8. Jika semua sudah di copy kini waktunya update configurasi Apachenya. Jadi sebelumnya Apache masih menganggap bahwa PHP yang kita gunakan adalah versi 7. Sekarang buka file

    LoadFile "C:/xampp/php/php7ts.dll"
    LoadFile "C:/xampp/php/libpq.dll"
    LoadModule php7_module "C:/xampp/php/php7apache2_4.dll"
    
    5 menggunakan Notepad / Notepad++ di folder xampp > apache > conf > extra
    Cara menggunakan compile php with-sodium support

  9. Silahkan copy kan httpd-xampp.conf menjadi 2 yang hasil copy nya diganti nama menjadi httpd-xampp-php7.conf

    Cara menggunakan compile php with-sodium support

  10. Buka httpd-xampp.conf menggunakan notepad / notepad++

    Cara menggunakan compile php with-sodium support

  11. Silahkan cari kode

    LoadFile "C:/xampp/php/php7ts.dll"
    LoadFile "C:/xampp/php/libpq.dll"
    LoadModule php7_module "C:/xampp/php/php7apache2_4.dll"
    
  12. Lalu ubah menjadi

    LoadFile "C:/xampp/php/php8ts.dll"
    LoadFile "C:/xampp/php/libpq.dll"
    LoadModule php_module "C:/xampp/php/php8apache2_4.dll"
    
  13. Jika sudah diubah, langkah selanjutnya adalah mengganti semua text

    LoadFile "C:/xampp/php/php7ts.dll"
    LoadFile "C:/xampp/php/libpq.dll"
    LoadModule php7_module "C:/xampp/php/php7apache2_4.dll"
    
    6 menjadi
    LoadFile "C:/xampp/php/php7ts.dll"
    LoadFile "C:/xampp/php/libpq.dll"
    LoadModule php7_module "C:/xampp/php/php7apache2_4.dll"
    
    7
    Cara menggunakan compile php with-sodium support

  14. Jangan lupa di save yaa teman-teman 😁

  15. Kalau sudah di save notepad++ nya boleh di close terus buka lagi http://localhost:3030/version/phpinfo.php

  16. Andddd, taraaaaa ! PHP kamu sudah menjadi PHP8

    Cara menggunakan compile php with-sodium support

Sebentar, kok PHPMyAdmin jadi error ?

Kalau kalian buka phpmyadmin nanti akan muncul error seperti ini

Cara menggunakan compile php with-sodium support

Disitu ada pesan

Composer detected issues in your platform: Your Composer dependencies require the following PHP extensions to be installed: mysqli, openssl

Enter fullscreen mode Exit fullscreen mode

Itu artinya kalau PHP yang kita install ini belum mengaktifkan ekstensi yang dibutuhkan. Jadi masih banyak yang disabled gitu.
Cara ubahnya gini:

  1. Buka folder php yang ada didalam folder xampp ( folder php ini sudah PHP8 yaa )
    Cara menggunakan compile php with-sodium support
  2. Copy file php.ini-development menjadi 2 lalu ubah file copy an nya menjadi php.ini
    Cara menggunakan compile php with-sodium support
  3. Kalau muncul pesan ini silahkan klik
    LoadFile "C:/xampp/php/php7ts.dll"
    LoadFile "C:/xampp/php/libpq.dll"
    LoadModule php7_module "C:/xampp/php/php7apache2_4.dll"
    
    8 saja yaa
    Cara menggunakan compile php with-sodium support
  4. Buka file
    LoadFile "C:/xampp/php/php7ts.dll"
    LoadFile "C:/xampp/php/libpq.dll"
    LoadModule php7_module "C:/xampp/php/php7apache2_4.dll"
    
    9 menggunakan notepad / notepad++
    Cara menggunakan compile php with-sodium support
  5. Silahkan cari kode ini
    Cara menggunakan compile php with-sodium support
  6. Lalu ubah menjadi, sedikit pembahasan PHP ini menggunakan ekstensi luar untuk menjalankan programnya oleh karena itu kita harus menyertakan lokasi ekstensi ini dan lokasi ekstensi PHP saya ada di

    LoadFile "C:/xampp/php/php8ts.dll"
    LoadFile "C:/xampp/php/libpq.dll"
    LoadModule php_module "C:/xampp/php/php8apache2_4.dll"
    
    0 (Sesuaikan sama lokasi instalasi xampp masing-masing yaa)
    Cara menggunakan compile php with-sodium support

  7. Selanjutnya, kalian scroll kebawah lalu temukan kode ini

    Cara menggunakan compile php with-sodium support

  8. Itu merupakan kumpukan ekstensi yang tersedia di PHP8 dan masih belum diaktifkan, cara mengatifkannya hapus tanda titik koma /

    LoadFile "C:/xampp/php/php8ts.dll"
    LoadFile "C:/xampp/php/libpq.dll"
    LoadModule php_module "C:/xampp/php/php8apache2_4.dll"
    
    1 didepan ekstensi. Menjadi
    Cara menggunakan compile php with-sodium support

  9. Jangan lupa di save yaa file

    LoadFile "C:/xampp/php/php7ts.dll"
    LoadFile "C:/xampp/php/libpq.dll"
    LoadModule php7_module "C:/xampp/php/php7apache2_4.dll"
    
    9 😉

  10. Silahkan restart lagi Apache dan Mysql di XAMPP nya

  11. Yayyy sekarang PHPMyAdmin sudah jalan

    Cara menggunakan compile php with-sodium support

Mungkin itu saja mengenai tutorial upgrade PHP7 ke PHP8. Kalau ada kesalahan atau kebingungan silahkan komentar yaa 🤩 sampai jumpa di tutorial berikutnya