【发布时间】:2018-06-30 10:52:52
【问题描述】:
错误文本是:
sasql_connect(): The SQLAnywhere client libraries could not be loaded. Please ensure that libdbcapi_r.so can be found in your LD_LIBRARY_PATH environment variable.
当我将代码作为 Laravel 作业运行时出现此错误。但是,如果我编写控制器函数,SQL Anywhere 连接是成功的。
我认为,如果我的 SQL Anywhere 安装出现问题,我会在控制器功能中遇到同样的错误。
我在没有希望的情况下尝试了 3 天的解决方案。
所有回复都会有所帮助。
谢谢。
【问题讨论】:
-
确保为所有 php 安装安装并打开了扩展程序 - 运行该作业的可能不是您的 Web 服务器正在运行的那个。
-
要调试此问题,您可以将一个将
phpinfo()转储到文件的作业排队,并将其与来自网络界面的phpinfo()的输出进行比较,看看有什么区别。 -
谢谢,如何打开所有 php 安装的扩展? @apokryfos 谢谢,我会这样做的
-
@muhammedsafayaşar 理想情况下,如果您能够设法让机器人进入队列和 Web 界面以使用相同的 PHP 安装,那么您实际上并不需要这样做。通常这是在
/usr/bin路径中放入哪个php二进制文件的问题。 -
谢谢@apokryfos。是的,apache和jobs之间是有区别的。 Apache 使用 /etc/php/5.6/apache2 而作业队列使用 /etc/php/5.6/cli。在我通过作业队列写入文件的 phpinfo 中,未定义 LD_LIBRARY_PATH。但我不知道如何为 php/5.6/cli 设置它。你能帮忙吗?
标签: php laravel laravel-5.4 sybase sqlanywhere