新しいサーバーに移動するサイトで問題が発生しています。このサイトは SQL Server データベースに接続されており、現在の場所で正しく機能しています。ただし、新しい場所には 1 つの問題があり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
データベースへの新しい接続を取得するか、既に存在する場合は現在の接続を返します。正常に機能しています。リンクを閉じて、リンクが既に存在する場合は新しいリンクを作成しようとしましたが、エラーには影響しませんでした。
このストアド プロシージャが実行される前に、他の 3 つのプロシージャが呼び出され、正しく実行されるため、データベースへの接続に問題はありません。
もう 1 つの問題は、特定のデータベースでトレースを実行すると、このストアド プロシージャがデータベースで呼び出され、成功することです。
をコメントアウトするmssql_execute
と、ページが正しく読み込まれます (この関数が返す情報は除外されます)。
繰り返しますが、現在のサーバーではまったく同じコードが正しく機能しますが、新しいサーバーではコードが問題を引き起こしています。実際には何も送信していないため、apache または php からデバッグ情報を取得できません。