PHP启动:无法加载动态库(路径存在)
我想在Debian 10的新VM中执行一个程序,并收到与此相关的警告。因此加载: 发行版相关规范:Debian10,PHP7.3.11 执行: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
./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中添加的两行以加载扩展。我的脚本仍在运行,警告消失了。我从你的命令中得到的路径是我使用的正确路径