Saya sudah mencoba menginstal php (7.2) di Ubuntu (16.04) dengan PDO diaktifkan. Saya tidak perlu php sebagai modul apache, karena saya ingin menggunakan server bawaan PHP (dalam mode cli, seperti php -S localhost:80
).
Jadi, inilah yang saya lakukan:
sudo apt-get install php
sudo apt-get install php-mysql
sudo cp /usr/lib/php/7.2/php.ini-production.cli /etc/php/7.2/cli/php.ini
Sekarang, di php.ini tanpa komentar:
extension=pdo_mysql
Dan masih ketika saya menjalankan php -v
saya mendapatkan kesalahan:
PHP Warning: PHP Startup: Unable to load dynamic library 'pdo_mysql' (tried: /usr/lib/php/20170718/pdo_mysql (/usr/lib/php/20170718/pdo_mysql: cannot open shared object file: No such file or directory), /usr/lib/php/20170718/pdo_mysql.so (/usr/lib/php/20170718/pdo_mysql.so: undefined symbol: pdo_parse_params)) in Unknown on line 0
php -m
keluaran:
[PHP Modules]
Core
date
filter
hash
libxml
openssl
pcntl
pcre
Reflection
session
sodium
SPL
standard
zlib
[Zend Modules]
sudo phpenmod pdo_mysql
memberi saya/usr/sbin/phpenmod: 31: .: Can't open /usr/lib/php/php-helper
Jawaban:
Saya memecahkan masalah dengan cara ini:
sudo apt-get --purge remove php-common
sudo apt-get install php-common php-mysql php-cli
Sekarang tidak ada kesalahan dan
php -m
menunjukkan semuanya:Masih belum tahu apa yang menyebabkan masalah ini
sumber
xampp
masalah saya di ubuntu 16.04. Terima kasihSaya membuat masalah yang sama untuk diri saya sendiri di kotak kerja saya dengan secara manual membatalkan komentar beberapa
baris dalam
php.ini
. Yang benar-benar saya menebakapt-get install
proses. Saya pikir php7 + modern menangani ekstensi ini menggunakanconf.d
file tertentu seperti:/etc/php/7.3/cli/conf.d/10-pdo.ini
/etc/php/7.3/cli/conf.d/20-pdo_mysql.ini
Jawabannya bagi saya adalah mengomentari ulang
;extension
baris - baris ini dalam file cliphp.ini
.sumber