我运行命令:
php -v
输出:
PHP Warning: PHP Startup: Unable to load dynamic library 'pdo_mysql.so' (tried: /usr/lib/php/20170718/pdo_mysql.so (/usr/lib/php/20170718/pdo_mysql.so: undefined symbol: mysqlnd_allocator), /usr/lib/php/20170718/pdo_mysql.so.so (/usr/lib/php/20170718/pdo_mysql.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
我运行了这个命令:
php -m
输出:
PHP Warning: PHP Startup: Unable to load dynamic library 'pdo_mysql.so' (tried: /usr/lib/php/20170718/pdo_mysql.so (/usr/lib/php/20170718/pdo_mysql.so: undefined symbol: mysqlnd_allocator), /usr/lib/php/20170718/pdo_mysql.so.so (/usr/lib/php/20170718/pdo_mysql.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
[PHP Modules]
bz2
calendar
Core
ctype
curl
date
dom
exif
fileinfo
filter
ftp
gd
gettext
hash
iconv
intl
json
libxml
mbstring
openssl
pcntl
pcre
PDO
Phar
posix
readline
Reflection
session
shmop
SimpleXML
soap
sockets
sodium
SPL
standard
sysvmsg
sysvsem
sysvshm
tokenizer
wddx
xml
xmlreader
xmlwriter
xsl
Zend OPcache
zip
zlib
[Zend Modules]
Zend OPcache
php.ini文件包含以下行:
extension=pdo_mysql
运行此命令:
sudo apt-get install -y php-pdo-mysql
未安装任何内容,因为它已安装。
运行此命令:
php -i
输出显示:
PDO
PDO support => enabled
PDO drivers =>
不知道这是为什么,也不知道该怎么做。有什么建议吗?
4条答案
按热度按时间yk9xbfzb1#
我是这样解决这个问题的:
第一个月
sudo apt-get install php-common php-mysql php-cli
现在没有错误了,
php -m
显示它拥有一切:x33g5p2x2#
您可能使用的是php7.2,因此您应该编辑php.ini文件(***/etc/php/7.2/cli/php.ini***)。
可能是第 906 行的***extension=pdo_mysql*没有注解,在这一行加上;**在行首。
保存并关闭php.ini后,错误应该会消失,但是,要确保更改生效,请重新启动php服务:
第一个月
w8rqjzmb3#
确保pdo_mysql. so文件的位置与PHP扩展名目录相同:
通过这样做,并在php.ini上添加绝对路径,如下所示:
这会有用的。
kyks70gy4#
我有7.4 php版本。我通过删除以下行来取消注解;在php.ini文件中。
注意,最初你没有php.ini文件,所以首先你应该复制并粘贴php.ini-development文件,并将其重命名为php.ini。