ホームページ バックエンド開発 PHPチュートリアル ヘルプ: CentOS での mssql_connect() 接続の問題、「サーバーに接続できません」問題が発生します。

ヘルプ: CentOS での mssql_connect() 接続の問題、「サーバーに接続できません」問題が発生します。

Jun 23, 2016 pm 01:58 PM
centos connect server

CentOS システムで mssql_connect() を使用すると、「サーバーに接続できません」というエラー メッセージが表示され続けます。

背景: centOS システムの Web サーバーは MSSQL データベース サーバーに接続する必要があります。 mssql データベースは MSSSQL2000 を使用します (MSSQL2008 も試しましたが、同じ問題がありました)。

centOS システムは、yum install メソッドを使用して Freetds および php-mssql モジュールをインストールします。phpinfo() を使用して、php-mssql が正常にインストールされたことを確認します。 tsql を使用して、centOS で mssql アカウントとパスワードへの接続をテストします。どちらも正しいです。ただし、PHP ファイルで mssql_connect() 関数を使用して接続すると、「サーバーに接続できません」というエラー メッセージが常に表示されます (error_log によるクエリ)。

プログラム コード:
$link = mssql_connect('192.168.100.10:1433', 'sa', '****') // ここには常にエラーが発生します。ポート番号を追加するか、 not: 1433、エラーは残ります (!$link)
{
die('Unable to connect! error: ' . mssql_get_last_message());
}


解決してください。


ディスカッションに返信 (解決策)

接続できないだけで、明確なエラー メッセージは表示されませんか?

mssql_get_last_message() を出力して内容を確認します
インストールは正常のようですが、権限はありますか? sa が SQL サーバーの記録に失敗する状況に遭遇しましたが、最終的な設定で解決しました
もう一度テストして、さらに詳細なエラーメッセージ

また、IP アドレスを localhost または 127.0.0.1 に変更して再試行してください

権限がないので、当然接続できません

これは元のコードですか?なぜ mysql_connect() を間違って書いたのでしょうか? ? ? ?

プロジェクトは以前のデータベース サーバーに接続する必要があります。以前のデータベースは MSSQLServer2000 でしたが、現在は Web 環境に移行する必要があります。したがって、phpのmssqlモジュールを使用する必要があります。

Web サーバーは Linux 構造を使用し、データベースは別の Windows MSSqlServer サーバーであるため、localhost または 127.0.0.1 を使用するのは間違いです。最初のステップではデータベースが接続されていないため、mssql_get_last_message() には情報フィードバックが残ります。
tsql を使用してクエリを実行しましたが、すべてのクエリは正常です。
さらに、別のコンピューターで、freetds と php を手動で解凍してインストールし、再コンパイルしてインストールすると、mssql データベースに正常に接続できます。
私の判断では、yum メソッドを使用して freetds と php-mssql をインストールするときに、不足している手順があるかどうかはわかりません。そこで、この分野の専門家がいるかどうかを尋ねています。

データベース側は別の Windows MSSqlServer サーバーです!!!

ドメインを越えてアクセスしていますか?
デフォルトでインストールされている MSSQL では、通常どおり接続するには、サーバー構成マネージャーに移動してリモート接続を開く必要があります。 。
さらに、リモート リンクもファイアウォールの影響を受ける可能性があります。どちらかの側 (つまり、クライアントとサーバー) のファイアウォールによって、通常のリンクが禁止される場合があります。
最初にネットワーク環境を構成し、次に MSSQL 構成を確認し、最後に PHP プログラムを確認することをお勧めします。

すでに述べました: TSQL は MSSQL への接続をテストしており、クエリは正常です。パラメータには問題ないのですが、mssql_connect()関数が使用できません。もちろん、MSSQL サーバーの構成の問題ではなく、ファイアウォールやネットワーク環境の問題でもありません。


centOS で /var/log/httpd/error_log ログをクエリすると、「...警告: mssql_connect(): サーバーに接続できません: 192.168.100.10:1433 in .....」

私の判断 おいしいです. freetds と php-mssql をインストールするとき、何が問題だったのかわかりません。

centOS で yum 設定を使用した経験のある人からアドバイスをお願いします。

自分で解決してください。

2 つの方法:
1. コマンド setenforce 0 を実行します。
2. /etc/selinux/config を開き、SELINUX を無効に設定し、再起動します。

私もまったく同じ問題に遭遇しました。どうすれば解決できますか?

私も質問を提案しました。もっと詳しく。 http://ask.csdn.net/questions/69462

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Centosで中国語を入力する方法 Centosで中国語を入力する方法 Apr 07, 2024 pm 08:21 PM

CentOS で中国語入力を使用する方法には、次のものが含まれます。 fcitx 入力方法を使用する: fcitx をインストールして有効にし、ショートカット キーを設定し、ショートカット キーを押して入力方法を切り替え、ピンインを入力して候補単語を生成します。 iBus 入力方法を使用する: iBus をインストールして有効にし、ショートカット キーを設定し、ショートカット キーを押して入力方法を切り替え、ピンインを入力して候補単語を生成します。

CentOS7でUSBディスクファイルを読み取る方法 CentOS7でUSBディスクファイルを読み取る方法 Apr 07, 2024 pm 08:18 PM

CentOS 7 で U ディスク ファイルを読み取るには、まず U ディスクを接続し、そのデバイス名を確認する必要があります。次に、次の手順に従ってファイルを読み取ります。 USB フラッシュ ドライブをマウントします: mount /dev/sdb1 /media/sdb1 (「/dev/sdb1」を実際のデバイス名に置き換えます) USB フラッシュ ドライブ ファイルを参照します: ls /media /sdb1; cd /media /sdb1/ディレクトリ; cat ファイル名

CentOS7でroot権限を入力する方法 CentOS7でroot権限を入力する方法 Apr 02, 2024 pm 08:57 PM

CentOS 7 の root 権限に入る方法は 2 つあります。 sudo コマンドを使用します。ターミナルで sudo su - と入力し、現在のユーザー パスワードを入力します。 root ユーザーとして直接ログインします。ログイン画面で「その他」を選択し、「root」と root パスワードを入力します。注: root 権限で慎重に操作し、sudo 権限でタスクを実行し、root パスワードを定期的に変更してください。

centos にログインするためのパスワードを忘れた場合の対処方法 centos にログインするためのパスワードを忘れた場合の対処方法 Apr 07, 2024 pm 07:33 PM

CentOS パスワードを忘れた場合の解決策は次のとおりです。 シングルユーザー モード: シングルユーザー モードに入り、passwd root を使用してパスワードをリセットします。レスキュー モード: CentOS Live CD/USB から起動し、ルート パーティションをマウントし、パスワードをリセットします。リモート アクセス: SSH を使用してリモートに接続し、sudo passwd root でパスワードをリセットします。

SCP 使用法のヒント - ファイルを再帰的に除外する SCP 使用法のヒント - ファイルを再帰的に除外する Apr 22, 2024 am 09:04 AM

scp コマンドを使用すると、ネットワーク ホスト間でファイルを安全にコピーできます。データ転送と認証には ssh を使用します。一般的な構文は次のとおりです: scpfile1user@host:/path/to/dest/scp -r/path/to/source/user@host:/path/to/dest/scp ファイルを除外する scp コマンドを使用する場合はできないと思いますファイルをフィルタリングまたは除外します。ただし、ファイルを除外し、ssh を使用して安全にコピーするという良い回避策があります。このページでは、scp を使用してディレクトリを再帰的にコピーするときにファイルをフィルタリングまたは除外する方法について説明します。 rsync コマンドを使用してファイルを除外する方法 構文は次のとおりです。 rsyncav-essh-

Centos のユーザー名とパスワードを忘れた場合はどうすればよいですか? Centos のユーザー名とパスワードを忘れた場合はどうすればよいですか? Apr 02, 2024 pm 08:54 PM

CentOS ユーザー名とパスワードを忘れた場合、アクセスを復元するには 2 つの方法があります。 root パスワードをリセットします。サーバーを再起動し、GRUB メニューでカーネル コマンド ラインを編集し、「rw init=/sysroot/bin/sh」を追加して Ctrl キーを押します。 +x ;ルート ファイル システムをマウントし、シングル ユーザー モードでパスワードをリセットします。レスキュー モードを使用する: CentOS インストール ISO イメージからサーバーを起動し、レスキュー モードを選択します。ルート ファイル システムをマウントし、ISO イメージから chroot 環境をコピーし、パスワードをリセットし、chroot 環境を終了してサーバーを再起動します。

CentOS7でroot権限を有効にする方法 CentOS7でroot権限を有効にする方法 Apr 07, 2024 pm 08:03 PM

CentOS 7 では root 権限がデフォルトで無効になっていますが、次の手順で有効にできます: 一時的に有効にする: ターミナルで「su root」と入力し、root パスワードを入力します。永続的に有効にする: 「/etc/ssh/sshd_config」を編集し、「PermitRootLogin no」を「yes」に変更し、SSH サービスを再起動します。

centos7 のパスワードを忘れた場合はどうすればよいですか? centos7 のパスワードを忘れた場合はどうすればよいですか? Apr 02, 2024 pm 08:51 PM

CentOS 7 でパスワードを忘れた場合の 3 つの解決策: シングルユーザー モード: システムを再起動し、カーネル オプションを編集し、ro を rw init=/sysroot/bin/sh に変更し、passwd コマンドを使用して root パスワードをリセットします。レスキュー モード: インストール メディアから起動し、レスキュー モードを選択し、ルート ファイル システムをマウントし、ルート ファイル システムに chroot し、passwd コマンドを使用して root パスワードをリセットします。 Grub2 コマンド ライン: システムを再起動し、c を押してコマンド ラインに入り、カーネルをロードし、ルート ファイル システムをマウントし、ルート ファイル システムに chroot を実行して、passwd コマンドを使用して root パスワードをリセットします。

See all articles