使用 odbc_exec 成功下载 PHP 页面而不是渲染是
Posted
技术标签:
【中文标题】使用 odbc_exec 成功下载 PHP 页面而不是渲染是【英文标题】:Use of odbc_exec with successful result downloads PHP page instead of renders is 【发布时间】:2011-02-25 18:54:37 【问题描述】:我遇到了一个非常奇怪的问题。我正在使用 unixODBC 和 FreeTDS 连接到 MSSQL 服务器。
如果我使用 odbc_exec 执行 SQL 命令并生成有效查询,而不是呈现 php,我会收到下载我的 php 文件的提示,如果我接受该文件,最终会下载一个空文件。
如果我故意用格式不正确的语句破坏我的 SQL,页面会成功呈现并显示错误语句。
如果我使用命令行 isql 连接到我的数据库并运行查询,我能够在命令行级别获得结果。
CentOS 5.5 64位
MSSQL 2005 SP3
unixODBC 2.3.0
FreeTDS 0.82
PHP 5.3.5
【问题讨论】:
进一步调查产生 [notice] child pid 26273 exit signal Segmentation fault (11) 【参考方案1】:如果您在命令行上使用 php 运行页面会发生什么?如果它是 64 位安装,则可能是 PHP 使用与 unixODBC 和/或 FreeTDS 不同的 sizeof( SQLLEN ) 构建的结果。 PHP 是针对机器上的 unixODBC 构建的还是从包中安装的?
【讨论】:
以上是关于使用 odbc_exec 成功下载 PHP 页面而不是渲染是的主要内容,如果未能解决你的问题,请参考以下文章
“调用未定义函数 odbc_exec()”错误连接到 Linux PHP 服务器上的 Access 数据库
使用 odbc_exec libmdb mdbtools 耗尽允许的内存大小