我在移动到新服务器的站点时遇到问题。此站点已连接到 SQL Server 数据库,并且在其当前位置正常工作。但是,新位置的单个mssql_execute
. 这是代码示例:
function get_customer_select_info() {
$link = get_db_link();
$customer_all_command_text = "dbo.Customer_All";
$customer_all_stmt = mssql_init($customer_all_command_text, $link);
$search = "%";
mssql_bind($customer_all_stmt, "@parm1", $search, SQLVARCHAR, false, false, 15);
$result = mssql_execute($customer_all_stmt);
mssql_free_statement($customer_all_stmt);
return $result;
}
调用上述函数会导致
Unable to load the webpage because the server sent no data.
Error code: ERR_EMPTY_RESPONSE
从铬。
get_db_link
检索到数据库的新连接,如果它已经存在,则返回当前连接。它运行正常。我尝试关闭链接并在已经存在的情况下创建一个新链接,这对错误没有影响。
这不是连接数据库的问题,因为在执行此存储过程之前,会正确调用并执行其他三个过程。
另一个复杂情况是,在给定的数据库上运行跟踪会导致该存储过程在数据库上被调用并成功!
注释掉mssql_execute
会使页面正确加载(减去此函数返回的信息)。
同样,当前服务器上的完全相同的代码可以正常工作,但新服务器上的代码会导致问题。我无法从 apache 或 php 获得任何调试信息,因为它实际上并没有发送任何东西。