ヘルプ: CentOS での mssql_connect() 接続の問題、「サーバーに接続できません」問題が発生します。
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 サーバーの記録に失敗する状況に遭遇しましたが、最終的な設定で解決しました
もう一度テストして、さらに詳細なエラーメッセージ
権限がないので、当然接続できません
これは元のコードですか?なぜ 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 をインストールするときに、不足している手順があるかどうかはわかりません。そこで、この分野の専門家がいるかどうかを尋ねています。
ドメインを越えてアクセスしていますか?
デフォルトでインストールされている MSSQL では、通常どおり接続するには、サーバー構成マネージャーに移動してリモート接続を開く必要があります。 。
さらに、リモート リンクもファイアウォールの影響を受ける可能性があります。どちらかの側 (つまり、クライアントとサーバー) のファイアウォールによって、通常のリンクが禁止される場合があります。
最初にネットワーク環境を構成し、次に MSSQL 構成を確認し、最後に PHP プログラムを確認することをお勧めします。
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

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック











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

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

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

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

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

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

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