PHP dengan pdo-mysql di ubuntu 16.04

11

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 -vsaya 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]
Dan Miller
sumber
sudo phpenmod pdo_mysqlmemberi saya/usr/sbin/phpenmod: 31: .: Can't open /usr/lib/php/php-helper
Dan Miller
jawaban di atas mengatakan bahwa di ubuntu 16.04 Anda tidak perlu mengaktifkan mod, coba instal + restart.
Grzegorz
oh, tunggu - Anda melakukannya di CLI, tidak perlu apache restart dalam kasus ini.
Grzegorz
Ya, apache2 tidak aktif
Dan Miller

Jawaban:

32

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 -mmenunjukkan semuanya:

[PHP Modules]
calendar
Core
ctype
date
exif
fileinfo
filter
ftp
gettext
hash
iconv
json
libxml
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
Phar
posix
readline
Reflection
session
shmop
sockets
sodium
SPL
standard
sysvmsg
sysvsem
sysvshm
tokenizer
Zend OPcache
zlib

[Zend Modules]
Zend OPcache

Masih belum tahu apa yang menyebabkan masalah ini

Dan Miller
sumber
1
Saya memiliki masalah yang sama dengan Debian dan PHP 7.2 (5.6, 7.0, 7.1 dan 7.3 bekerja dengan baik) Membersihkan dan menginstal baru menyelesaikannya untuk saya juga
Pierre
memecahkan xamppmasalah saya di ubuntu 16.04. Terima kasih
abas nikzad
Menyelamatkan saya dari instalasi PHP yang aneh
Brian Peterson
Yay - bekerja untuk saya juga
Jason Morgan
Terima kasih! Ini menyelesaikan masalah saya. (Ubuntu 19.04 | Php 7.2)
PlayHardGoPro
-1

Saya membuat masalah yang sama untuk diri saya sendiri di kotak kerja saya dengan secara manual membatalkan komentar beberapa

;extension=<module>

baris dalam php.ini. Yang benar-benar saya menebak apt-get installproses. Saya pikir php7 + modern menangani ekstensi ini menggunakan conf.dfile 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 ;extensionbaris - baris ini dalam file cli php.ini.

Pengembangan Drupal Kosta Rika
sumber