PHP启动:无法加载动态库(路径存在)

PHP启动:无法加载动态库(路径存在),php,shared-libraries,php-7.3,debian-buster,Php,Shared Libraries,Php 7.3,Debian Buster,我想在Debian 10的新VM中执行一个程序,并收到与此相关的警告。因此加载: 发行版相关规范:Debian10,PHP7.3.11 执行: ./program.php 它包含以下内容: #!/usr/bin/env php 警告: PHP Warning: PHP Startup: Unable to load dynamic library 'mysqli' (tried: /usr/lib/php/20180731/mysqli (/usr/lib/php/20180731/mys

我想在Debian 10的新VM中执行一个程序,并收到与此相关的警告。因此加载:

发行版相关规范:Debian10,PHP7.3.11

执行:

./program.php
它包含以下内容:

#!/usr/bin/env php
警告:

PHP Warning:  PHP Startup: Unable to load dynamic library 'mysqli' (tried: /usr/lib/php/20180731/mysqli (/usr/lib/php/20180731/mysqli: cannot open shared object file: No such file or directory), /usr/lib/php/20180731/mysqli.so (/usr/lib/php/20180731/mysqli.so: undefined symbol: mysqlnd_global_stats)) in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'pdo_mysql' (tried: /usr/lib/php/20180731/pdo_mysql (/usr/lib/php/20180731/pdo_mysql: cannot open shared object file: No such file or directory), /usr/lib/php/20180731/pdo_mysql.so (/usr/lib/php/20180731/pdo_mysql.so: undefined symbol: mysqlnd_allocator)) in Unknown on line 0
以下是我在php.ini文件中修改的行:

extension=mysqli
extension=pdo_mysql
下面是ls-l/usr/lib/php/20180731的返回

total 8788
-rw-r--r-- 1 root root   34920 oct.  26 16:14 calendar.so
-rw-r--r-- 1 root root   14440 oct.  26 16:14 ctype.so
-rw-r--r-- 1 root root   92264 oct.  26 16:14 exif.so
-rw-r--r-- 1 root root 5429360 oct.  26 16:14 fileinfo.so
-rw-r--r-- 1 root root   67688 oct.  26 16:14 ftp.so
-rw-r--r-- 1 root root   14440 oct.  26 16:14 gettext.so
-rw-r--r-- 1 root root   47208 oct.  26 16:14 iconv.so
-rw-r--r-- 1 root root   47208 oct.  26 16:14 json.so
-rw-r--r-- 1 root root 1611912 oct.  26 16:14 mbstring.so
-rw-r--r-- 1 root root  141416 oct.  26 16:14 mysqli.so
-rw-r--r-- 1 root root  251512 oct.  26 16:14 mysqlnd.so
-rw-r--r-- 1 root root  518640 oct.  26 16:14 opcache.so
-rw-r--r-- 1 root root   30824 oct.  26 16:14 pdo_mysql.so
-rw-r--r-- 1 root root  112744 oct.  26 16:14 pdo.so
-rw-r--r-- 1 root root  280680 oct.  26 16:14 phar.so
-rw-r--r-- 1 root root   39016 oct.  26 16:14 posix.so
-rw-r--r-- 1 root root   34920 oct.  26 16:14 readline.so
-rw-r--r-- 1 root root   14440 oct.  26 16:14 shmop.so
-rw-r--r-- 1 root root   96360 oct.  26 16:14 sockets.so
-rw-r--r-- 1 root root   22632 oct.  26 16:14 sysvmsg.so
-rw-r--r-- 1 root root   14440 oct.  26 16:14 sysvsem.so
-rw-r--r-- 1 root root   14440 oct.  26 16:14 sysvshm.so
-rw-r--r-- 1 root root   22632 oct.  26 16:14 tokenizer.so
我找不到php无法打开.so文件的原因


我知道有很多像我这样的帖子,但它们只是路径相关的问题,我的路径似乎是正确的。

这意味着你的扩展不在
/usr/lib/php/20180731

total 8788
-rw-r--r-- 1 root root   34920 oct.  26 16:14 calendar.so
-rw-r--r-- 1 root root   14440 oct.  26 16:14 ctype.so
-rw-r--r-- 1 root root   92264 oct.  26 16:14 exif.so
-rw-r--r-- 1 root root 5429360 oct.  26 16:14 fileinfo.so
-rw-r--r-- 1 root root   67688 oct.  26 16:14 ftp.so
-rw-r--r-- 1 root root   14440 oct.  26 16:14 gettext.so
-rw-r--r-- 1 root root   47208 oct.  26 16:14 iconv.so
-rw-r--r-- 1 root root   47208 oct.  26 16:14 json.so
-rw-r--r-- 1 root root 1611912 oct.  26 16:14 mbstring.so
-rw-r--r-- 1 root root  141416 oct.  26 16:14 mysqli.so
-rw-r--r-- 1 root root  251512 oct.  26 16:14 mysqlnd.so
-rw-r--r-- 1 root root  518640 oct.  26 16:14 opcache.so
-rw-r--r-- 1 root root   30824 oct.  26 16:14 pdo_mysql.so
-rw-r--r-- 1 root root  112744 oct.  26 16:14 pdo.so
-rw-r--r-- 1 root root  280680 oct.  26 16:14 phar.so
-rw-r--r-- 1 root root   39016 oct.  26 16:14 posix.so
-rw-r--r-- 1 root root   34920 oct.  26 16:14 readline.so
-rw-r--r-- 1 root root   14440 oct.  26 16:14 shmop.so
-rw-r--r-- 1 root root   96360 oct.  26 16:14 sockets.so
-rw-r--r-- 1 root root   22632 oct.  26 16:14 sysvmsg.so
-rw-r--r-- 1 root root   14440 oct.  26 16:14 sysvsem.so
-rw-r--r-- 1 root root   14440 oct.  26 16:14 sysvshm.so
-rw-r--r-- 1 root root   22632 oct.  26 16:14 tokenizer.so
您可以使用以下命令检查正确的路径:

php -i | grep extension_dir

并确保您的
mysqli.so
pdo_mysql
是否存在

我刚刚删除了php.ini中添加的两行以加载扩展。我的脚本仍在运行,警告消失了。我从你的命令中得到的路径是我使用的正确路径