PHP 警告:PHP 启动:无法在 Ubuntu 上加载动态库

PHP Warning: PHP Startup: Unable to load dynamic library on Ubuntu

一些背景信息:

Ubuntu 14.04 最小和升级 php 从版本 5.x 到 7.2

现在我每 30 分钟收到一封来自 cron daemon 的电子邮件,主题如下:

Cron <root@v52775> [ -x /usr/lib/php/sessionclean ] && if [ ! -d /run/systemd/system ]; then /usr/lib/php/sessionclean; fi

以及以下内容:

PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20131226/php_intl.dll' - /usr/lib/php/20131226/php_intl.dll: cannot open shared object file: No such file or directory in Unknown on line 0

PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20131226/php_mysql.dll' - /usr/lib/php/20131226/php_mysql.dll: cannot open shared object file: No such file or directory in Unknown on line 0

PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20131226/php_mysqli.dll' - /usr/lib/php/20131226/php_mysqli.dll: cannot open shared object file: No such file or directory in Unknown on line 0

我有点困惑,因为我不知道如何获得这个 .dll 文件,而不是任何 .so.

我查看了 php 信息,因此 intlmysqli 模块处于活动状态。我在终端上写 php -m 时得到的信息相同。 但是 不是 mysql 扩展名!我禁用了旧的 php 版本,只有 php 7.2 在我的系统上是 运行。

另一个令人困惑的是路径。我不确定,但在来自 cronjob 的电子邮件中路径 /usr/lib/php/20131226/php_* 但 php 信息显示 20170718。我把截图放在这里。

screenshot php info extention

我该如何解决,希望有人能帮助我? 如果您需要更多信息,请问我:)

我修好了!

我执行 sudo apt-get remove "php*" 并再次安装 php。之后你会收到一封电子邮件,里面有很多这样的警告。

PHP Warning:  PHP Startup: Unable to load dynamic library 'xml.so' (tried: /usr/lib/php/20170718/xml.so (/usr/lib/php/20170718/xml.so: cannot open shared object file: No such file or directory), /usr/lib/php/20170718/xml.so.so (/usr/lib/php/20170718/xml.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0

这可以通过安装缺少的模块轻松解决​​。