PHP với pdo-mysql trong Ubuntu 16.04


11

Tôi đã cố gắng cài đặt php (7.2) trong Ubuntu (16.04) khi bật PDO. Tôi không cần php làm mô-đun apache, vì tôi muốn sử dụng máy chủ tích hợp PHP (ở chế độ cli, như php -S localhost:80).

Vì vậy, đây là những gì tôi làm:

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

Bây giờ, trong php.ini chưa hoàn thành:

extension=pdo_mysql

Và khi tôi chạy, php -vtôi gặp lỗi:

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 đầu ra:

[PHP Modules]
Core
date
filter
hash
libxml
openssl
pcntl
pcre
Reflection
session
sodium
SPL
standard
zlib
[Zend Modules]


sudo phpenmod pdo_mysqlcho tôi/usr/sbin/phpenmod: 31: .: Can't open /usr/lib/php/php-helper
Dan Miller

câu trả lời ở trên nói rằng trong Ubuntu 16.04 bạn không cần kích hoạt mod, hãy thử chỉ cần cài đặt + khởi động lại.
Grzegorz

oh, đợi đã - bạn làm điều đó trong CLI, không cần khởi động lại apache trong trường hợp này.
Grzegorz

Có, apache2 không hoạt động
Dan Miller

Câu trả lời:


32

Tôi đã giải quyết vấn đề theo cách này:

sudo apt-get --purge remove php-common

sudo apt-get install php-common php-mysql php-cli

Bây giờ không có lỗi và php -mcho thấy nó có mọi thứ:

[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

Vẫn không biết điều gì đã gây ra vấn đề ngay từ đầu


1
Tôi gặp vấn đề tương tự với Debian và PHP 7.2 (5.6, 7.0, 7.1 và 7.3 đang hoạt động tốt) Việc thanh trừng và cài đặt một lần nữa cũng giải quyết nó cho tôi
Pierre

đã giải quyết xamppvấn đề của tôi trong Ubuntu 16.04. Cảm ơn
abas nikzad

Cứu tôi khỏi một bản cài đặt PHP kỳ lạ
Brian Peterson

Yay - cũng làm việc cho tôi
Jason Morgan

Cảm ơn bạn! Điều này đã giải quyết vấn đề của tôi. (Ubuntu 19.04 | Php 7.2)
PlayHardGoPro

-1

Tôi đã tạo ra vấn đề tương tự cho chính mình trên hộp công việc của mình bằng cách bỏ qua một số thủ công

;extension=<module>

dòng trong php.ini. Đó thực sự là tôi đoán apt-get installquá trình thứ hai . Tôi nghĩ rằng php7 + hiện đại xử lý các tiện ích mở rộng này bằng conf.dcác tệp cụ thể như:

  • /etc/php/7.3/cli/conf.d/10-pdo.ini
  • /etc/php/7.3/cli/conf.d/20-pdo_mysql.ini

Câu trả lời sau đó cho tôi là bình luận lại những ;extensiondòng này trong php.initập tin của cli's .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.