【发布时间】:2015-07-08 21:27:13
【问题描述】:
我有一台运行本地服务器的 Ubuntu 14.04 机器。
在这台服务器上,我有一个 PHP 脚本需要访问远程 Microsoft Azure SQL 数据库上的数据。
我无法找到使用纯 PHP 从 Ubuntu 访问数据库的方法,因此我尝试了 Python 脚本并在遵循本教程后导入了 pyodbc 库:https://snakeycode.wordpress.com/2013/12/04/installing-pyodbc-on-ubuntu-12-04-64-bit/
我可以从终端运行此脚本,它成功连接到 Azure SQL 数据库并将我的查询输出打印到控制台。
这是个好消息,所以我开始在本地服务器上进行测试。
在服务器上,在 PHP 方法中,我调用 echo shell_exec('my_script.py');
这给了我一个错误:
pyodbc.Error: ('08001', '[08001] [unixODBC][FreeTDS][SQL Server] Unable to connect to data source (0) (SQLDriverConnect)')
为什么my_script.py在本地服务器执行时不起作用?
【问题讨论】:
-
是否可以直接在 PHP 中使用 Microsoft Sql Server ODBC Driver for Linux?见stackoverflow.com/questions/20163776/…
-
当您从终端成功运行时,是在您描述为“本地服务器”的同一台机器上吗?您可能希望直接从 PHP 连接,您可以使用相同的 FreeTDS 和 unixODBC 底层堆栈来实现。您是否从“本地服务器”的命令行尝试过 tsql 和 isql?
标签: php python ubuntu azure pyodbc