我已经搜索了上千个帖子,但仍然没有找到解决问题的办法。其他帖子没有答案。请不要标记为重复,因为它不是。在我的情况下,该文件存在于目录中,但无法识别。
当我输入命令时,我收到了错误PHP警告: PHP :无法加载动态库'pdo_mysql.so‘:
php -v
我得到了这个输出:
PHP Warning: PHP Startup: Unable to load dynamic library 'pdo_mysql.so' (tried: /usr/lib/php/20190902/pdo_mysql.so (/usr/lib/php/20190902/pdo_mysql.so: undefined symbol: mysqlnd_allocator), /usr/lib/php/20190902/pdo_mysql.so.so (/usr/lib/php/20190902/pdo_mysql.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP 7.4.3 (cli) (built: Mar 2 2022 15:36:52) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies
我已经重新安装了php几次,尝试安装模块pdo本身什么也没有.
使用命令php -m
,我得到了所有模块(但缺少pdo_mysql)
PHP Warning: PHP Startup: Unable to load dynamic library 'pdo_mysql.so' (tried: /usr/lib/php/20190902/pdo_mysql.so (/usr/lib/php/20190902/pdo_mysql.so: undefined symbol: mysqlnd_allocator), /usr/lib/php/20190902/pdo_mysql.so.so (/usr/lib/php/20190902/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
FFI
fileinfo
filter
ftp
gd
gettext
hash
iconv
imagick
json
libxml
mbstring
openssl
pcntl
pcre
PDO
Phar
posix
readline
Reflection
session
shmop
SimpleXML
sockets
sodium
SPL
ssh2
standard
sysvmsg
sysvsem
sysvshm
tokenizer
xml
xmlreader
xmlwriter
xsl
Zend OPcache
zip
zlib
[Zend Modules]
Zend OPcache
但是文件本身存在于错误上提到的目录中:
/usr/lib/php/20190902 ls -la ✔ 4 ⚙ 3444 19:35:10
total 9,9M
drwxr-xr-x 2 root root 4,0K Mar 5 18:46 .
drwxr-xr-x 4 root root 4,0K Mar 5 18:46 ..
-rw-r--r-- 1 root root 31K Mar 2 12:36 bz2.so
-rw-r--r-- 1 root root 43K Mar 2 12:36 calendar.so
-rw-r--r-- 1 root root 15K Mar 2 12:36 ctype.so
-rw-r--r-- 1 root root 103K Mar 2 12:36 curl.so
-rw-r--r-- 1 root root 167K Mar 2 12:36 dom.so
-rw-r--r-- 1 root root 91K Mar 2 12:36 exif.so
-rw-r--r-- 1 root root 159K Mar 2 12:36 ffi.so
-rw-r--r-- 1 root root 5,5M Mar 2 12:36 fileinfo.so
-rw-r--r-- 1 root root 67K Mar 2 12:36 ftp.so
-rw-r--r-- 1 root root 115K Mar 2 12:36 gd.so
-rw-r--r-- 1 root root 19K Mar 2 12:36 gettext.so
-rw-r--r-- 1 root root 51K Mar 2 12:36 iconv.so
-rw-r--r-- 1 root root 448K Mar 2 2020 imagick.so
-rw-r--r-- 1 root root 47K Mar 2 12:36 json.so
-rw-r--r-- 1 root root 1,1M Mar 2 12:36 mbstring.so
-rw-r--r-- 1 root root 143K Mar 2 12:36 mysqli.so
-rw-r--r-- 1 root root 254K Mar 2 12:36 mysqlnd.so
-rw-r--r-- 1 root root 543K Mar 2 12:36 opcache.so
-rw-r--r-- 1 root root 35K Mar 2 12:36 pdo_mysql.so
-rw-r--r-- 1 root root 111K Mar 2 12:36 pdo.so
-rw-r--r-- 1 root root 275K Mar 2 12:36 phar.so
-rw-r--r-- 1 root root 43K Mar 2 12:36 posix.so
-rw-r--r-- 1 root root 39K Mar 2 12:36 readline.so
-rw-r--r-- 1 root root 15K Mar 2 12:36 shmop.so
-rw-r--r-- 1 root root 55K Mar 2 12:36 simplexml.so
-rw-r--r-- 1 root root 99K Mar 2 12:36 sockets.so
-rw-r--r-- 1 root root 89K Feb 28 2020 ssh2.so
-rw-r--r-- 1 root root 23K Mar 2 12:36 sysvmsg.so
-rw-r--r-- 1 root root 15K Mar 2 12:36 sysvsem.so
-rw-r--r-- 1 root root 19K Mar 2 12:36 sysvshm.so
-rw-r--r-- 1 root root 27K Mar 2 12:36 tokenizer.so
-rw-r--r-- 1 root root 39K Mar 2 12:36 xmlreader.so
-rw-r--r-- 1 root root 55K Mar 2 12:36 xml.so
-rw-r--r-- 1 root root 51K Mar 2 12:36 xmlwriter.so
-rw-r--r-- 1 root root 35K Mar 2 12:36 xsl.so
-rw-r--r-- 1 root root 71K Mar 2 12:36 zip.so
我在Linux 20上,这是php、mysql和apache的最新版本。有人知道如何安装pdo_mysql并解决这个问题吗?
发布于 2022-03-06 14:51:05
对于那些有同样问题的人,我刚刚找到了一个解决办法。当无法动态加载时,(在我的例子中是)意味着我可能有一个损坏的php安装(例如损坏的文件),所以我不得不重新安装它,但是仅仅重新安装它,问题仍然存在。在这种情况下,我必须完全删除php文件,然后再重新安装它。以下是我所采取的步骤:
数独apt-获取清除dpkg -l | grep php| awk '{print $2}' |tr "\n" " "
如果一切正常,请跳到步骤2。在此过程中,我发现了另一个错误:
子进程/usr/bin/dpkg返回一个错误代码(1)
dpkg:错误处理包phpmyadmin (--配置):已安装的phpmyadmin包-安装后脚本子进程返回错误退出状态127
所以我完全删除了phpmyadmin文件
sudo apt-获取清除phpmyadmin
rm -r /var/lib/dpkg/info/phpmyadmin.*
数都-洗干净
&& sudo apt-获取更新
&& sudo apt-获取删除phpmyadmin
&& sudo apt-获取清除phpmyadmin
之后,我能够完全删除php:
sudo apt-get purge dpkg -l | grep php| awk '{print $2}' |tr "\n" " "
sudo apt-get update
sudo apt -y安装软件-属性-通用
sudo apt存储库ppa:ondrej/php
sudo apt-get update
sudo apt -y安装php7.4
-v (检查php工作)
sudo apt更新
sudo apt安装phpmyadmin php-mbstring php-zip php-gd php-json php-curl
sudo phpenmod mbstring
sudo sudo重启apache2
https://stackoverflow.com/questions/71366249
复制相似问题