我的整个网站都可以通过浏览器完美运行。我刚刚添加了一个cron作业,并且每次运行此错误都会被触发:
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))
不确定发生了什么。我已经使用浏览器和cron记录了PHP版本,结果相同:7.3.2-3 + 0〜20190208150725.31 + stretch〜1.gbp0912bd
cron有何不同?我该如何解决?
答案 0 :(得分:0)
我有2个解决方案。
解决方案一: 我注意到在脚本结尾处关闭mysql连接可以解决问题。
解决方案二:
事实证明,/etc/php/7.3/cli/php.ini
和/etc/php/7.3/fpm/php.ini
之间是有区别的。
第一个有这一行:
extension=mysqli
第二个是这个(注意分号):
; extension=mysqli
在/etc/php/7.3/cli/php.ini
中添加分号已完全解决了我的问题。
答案 1 :(得分:0)
尝试更改两个php.ini
中的php/[version]/apache2
文件,使其类似:
extension=mysqlnd
extension=mysqli
首先加载mysqlnd
可以消除我的debian VM上的错误。如果您打算在命令行上运行相同的代码,则不妨考虑更改php/[version]/cli/php.ini
。
答案 2 :(得分:-3)
我的php版本是7.2
我跑步时
php -m
PHP警告:
PHP启动:无法加载动态库'mysqli'(尝试:/ usr / lib / php / 20170718 / mysqli(/ usr / lib / php / 20170718 / mysqli:无法打开共享对象文件:没有这样的文件或目录),/ usr / lib / php / 20170718 / mysqli.so(/usr/lib/php/20170718/mysqli.so:undefined symbol:mysqlnd_global_stats))在第0行上为未知
解决方案
我刚刚在/etc/php/7.2/cli/php.ini
中添加了分号,就彻底解决了我的问题。