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]


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


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.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.