当 运行 一个 cron 作业时找不到 sqlsrv 的驱动程序

Can't find driver for sqlsrv when running a cron job

我 运行 RHEL 服务器上的 Laravel 应用程序。数据库位于外部 SQL 服务器上。 运行连接 Web 应用程序时,数据库连接没有问题。

当 运行 启动 CRON 作业时,它调用

$ php artisan schedule:run

应用程序找不到 Sql 服务器的驱动程序。

Illuminate\Database\QueryException  : could not find driver
PHP Startup: Unable to load dynamic library 'sqlsrv.so

这可能与您在网络服务器上和外部的设置有关。您可以在您的应用程序和命令行中尝试 运行 phpinfo,看看是否有任何差异。

问题已解决:cron 作业执行使用的是不同版本的 PHP。既不同于来自 Apache 的,也不同于来自 CLI 的。 所以我只是使用了显式路径,引用了正确的 PHP 版本。

我确定它应该使用 CLI 版本,但它不是,我不确定为什么。可能是因为别名错误。