bismillah ..
hari ini saya dapat error di server web baru yang akan kami deploy ,error nya php tidak bisa me-load ekstensi modul php-mysqli , info modul ekstensi yang aktif di php dapat di lihat di info.php (cara buat nya bisa di lihat di postingan ini)
langsung saja langkah nya :
- Pastikan package php-mysql nya sudah terinstall , bisa dicek dengan perintah dpkg -l |grep php
root@guest:~# dpkg -l|grep php
ii libapache2-mod-php7.4 7.4.3-4ubuntu2.4 amd64 server-side, HTML-embedded scripting language (Apache 2 module)
ii php 2:7.4+75 all server-side, HTML-embedded scripting language (default)
ii php-common 2:75 all Common files for PHP packages
ii php-ldap 2:7.4+75 all LDAP module for PHP [default]
ii php-mysql 2:7.4+75 all MySQL module for PHP [default]
ii php7.4 7.4.3-4ubuntu2.4 all server-side, HTML-embedded scripting language (metapackage)
ii php7.4-cli 7.4.3-4ubuntu2.4 amd64 command-line interpreter for the PHP scripting language
ii php7.4-common 7.4.3-4ubuntu2.4 amd64 documentation, examples and common module for PHP
ii php7.4-json 7.4.3-4ubuntu2.4 amd64 JSON module for PHP
ii php7.4-ldap 7.4.3-4ubuntu2.4 amd64 LDAP module for PHP
ii php7.4-mysql 7.4.3-4ubuntu2.4 amd64 MySQL module for PHP
ii php7.4-opcache 7.4.3-4ubuntu2.4 amd64 Zend OpCache module for PHP
ii php7.4-readline 7.4.3-4ubuntu2.4 amd64 readline module for PHP
root@guest:~#
dari info diatas paket php-mysql nya sudah di ada ,sebagai info saya menggunakan ubuntu 20.04 server
- Pastikan ekstensi mysqli nya sudah di enable di php.ini nya
root@guest:/etc/php/7.4/cli/conf.d# pico /etc/php/7.4/apache2/php.ini
saya gubnakan editor nano kemudian saya tekan ctrl+w kemudian ketik mysqli
kemudian restart apache nya. nah jika masih error (dikasus saya masih tetap error) maka langkah terakhir
- Lihat Error Log nya
error log yang saya dapat ketika mulai mengkatifkan extention mysqli nya adalah
dari log di atas bisa kita lihat ada error
PHP Warning: PHP Startup: Unable to load dynamic library ‘mysqli.so’ (tried: /usr/lib/php/20190902/mysqli.so (/usr/lib/php/20190902/mysqli.so: undefined symbol: mysqlnd_global_stats), /usr/lib/php/20190902/mysqli.so.so (/usr/lib/php/20190902/mysqli.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
yang jadi acuan saya untuk pengecekan di bagian ” undefined symbol: mysqlnd_global_stats ” maka yang saya coba lakuakan , pertama mengecek file mysqlnd.ini di folder /etc/php/7.4/cli/conf.d
terilhat file 20-mysqlnd.ini merupakan symlink ke file /etc/php/7.4/mods-available/mysqlnd.ini, maka langkah selanjut nya yang saya lakukan mebuka file /etc/php/7.4/mods-available/mysqlnd.ini dan ternyata masih kosong. maka saya tambahkan konfig untuk me load ekstensi mysqlnd nya saya copas isi nya dari file
/usr/share/php7.4-mysql/mysql/mysqlnd.ini
root@guest:/etc/php/7.4/cli/conf.d# locate mysqlnd.ini
/etc/php/7.4/apache2/conf.d/10-mysqlnd.ini
/etc/php/7.4/cli/conf.d/10-mysqlnd.ini
/etc/php/7.4/mods-available/mysqlnd.ini
/usr/share/php7.4-mysql/mysql/mysqlnd.ini
/var/lib/ucf/cache/:etc:php:7.4:mods-available:mysqlnd.ini
root@guest:/etc/php/7.4/cli/conf.d# pico /usr/share/php7.4-mysql/mysql/mysqlnd.ini
buka file /etc/php/7.4/mods-available/mysqlnd.ini kemdian saya copas isi /usr/share/php7.4-mysql/mysql/mysqlnd.in
; configuration for php mysql module
; priority=10
extension=mysqlnd.so
save dan restart apache nya.
semoga bermanfaat 🙂
referensi:
No Comments, Be The First!