PHP启动:无法加载动态库'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbmysqlnd全局统计信息

cidc1ykv  于 2023-02-28  发布在  PHP
关注(0)|答案(5)|浏览(101)

我的整个网站通过浏览器运行完美。我刚刚添加了一个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))

不知道是怎么回事。我已经记录了PHP版本都使用浏览器,并使用cron,它出来的相同:7.3.2-3+0~20190208150725.31+拉伸~ 1.
在cron中有什么不同?我该怎么做?

pbgvytdp

pbgvytdp1#

尝试将两个php/[version]/apache2中的php.ini文件修改为类似以下内容:

extension=mysqlnd
extension=mysqli

首先加载mysqlnd可以消除我的debian VM上的错误。如果您打算在命令行运行相同的代码,您可能也希望考虑修改php/[version]/cli/php.ini

1aaf6o9v

1aaf6o9v2#

我有两个办法。
解决方案一:我注意到在脚本末尾关闭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完全修复了我的问题。

dwthyt8l

dwthyt8l3#

从**/etc/php/[版本]/cli/php.ini**将其注解掉:

;extension=mysqli

请将其保留在**/etc/php/[版本]/apache 2/php.ini**中:

extension=mysqli

重新加载apache 2:

sudo systemctl restart apache2
xytpbqjk

xytpbqjk4#

我设法通过在/etc文件夹中的每个php.ini文件中添加分号来解决这个问题,如下所示。
;分机号=mysqli

pgvzfuti

pgvzfuti5#

我的php版本是7.2
当我奔跑

php -m

PHP警告:
PHP启动:无法加载动态库'bbbbbbbbbbbbbbbbbbb'(尝试次数:/usr/文件夹/php/2017年7月27日/mysqli(/usr/文件夹/php/2017年7月27日/mysqli:无法打开共享目标文件:没有这样的文件或目录)、/usr/lib/php/20170718/www.example.com(/usr/lib/php/20170718/mysqli.so:mysqli.so第0行未知中的mysqlnd_global_stats undefined symbol: mysqlnd_global_stats)) in Unknown on line 0

    • 解决方案**

我只是添加分号到/etc/php/7.2/cli/php.ini完全修复了我的问题。

相关问题