查看所有搜索此文章的文章,没有可行的答案 - 在Ubuntu 16.04上我得到了:
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/msqli.so' - /usr/lib/php/20151012/msqli.so: cannot open shared object file: No such file or directory in Unknown on line 0
msqli.so
肯定存在于上面引用的文件夹中,并且由root拥有并且是可删除的。文件夹和父文件夹归root所有。地狱的是,phpmyadmin运行正常,可以在mySQL数据库上查看和操作就好了。我需要将文件夹/文件chown到mysql或php实体吗?刚刚重新安装Apache / php / mysql,并没有修复它 - 所有最新版本。尝试使用Eclipse IDE,但此代码也在Web服务器上失败。还尝试了php.ini
扩展程序pdo _ msql.so
和msqlnd.so
以及相关的编码技术,但它们都产生了如上所述的消息(但具有适当的.so文件名),所以我怀疑它的“环境”设置错误。 phpinfo()
;建议司机都在那里工作。
答案 0 :(得分:1)
更改了php.ini:
extension=/usr/lib/php/20151012/mysqli.so
extension=/usr/lib/php/20151012/mysqlnd.so
到
extension=/usr/lib/php/20151012/mysqlnd.so
extension=/usr/lib/php/20151012/mysqli.so
ie:颠倒2个条目的顺序,首先放入mysqlnd.so。
现在我很开心,并且热情高涨地进行了远程计算。
答案 1 :(得分:1)
似乎使用卸载所有版本的
sudo apt-get purge `dpkg -l | grep php| awk '{print $2}' |tr "\n" " "``
并且仅安装最新版本的
apt install php libapache2-mod-php php-mysql php-xml php-soap php-gd php-mbstring
为我解决了这个问题。