1

私たちの組織は現在、クライアントにさまざまな Web サイトを提供する Windows Azure の Linux VM に移行しています。Azure のドキュメントで推奨されているように、前述の Web サイトのデータを保持することを期待して、ClearDB に mysql DB をセットアップしました。

問題は、サイト コードが clearDB とまったく通信できないことです。


編集

仮想マシンの MYSQL コマンド ラインからの接続は機能し、サイトが使用するのと同じ資格情報を使用してデータベースを参照できますが、php はまだデータにアクセスできません。


サイトのバックエンドとして php / codeigniter を実行しています。サイトのローカル コピーではすべて正常に動作しますが、Azure にデプロイすると常に DB 接続に失敗します。

Azure VM に tcptraceroute をインストールし、ポート 3306 で clearDB マシンを正常に ping できるため、VM には確実に表示されますが、何らかの理由でサイトには表示されません。

以下は、私のローカル マシンの apache の下で正常に動作する codeigniter のデータベース構成です。

$active_group = "live";
$active_record = TRUE;

$db['live']['hostname'] = "eu-cdbr-azure-north-a.cloudapp.net"; 
$db['live']['username'] = "<<USER>>"; 
$db['live']['password'] = "<<PASSWORD>>"; 


$db['live']['database'] = "<<DB NAME>>";
$db['live']['dbdriver'] = "mysql";
$db['live']['dbprefix'] = "";
$db['live']['pconnect'] = TRUE;
$db['live']['db_debug'] = TRUE;
$db['live']['cache_on'] = FALSE;
$db['live']['cachedir'] = "";
$db['live']['char_set'] = "utf8";
$db['live']['dbcollat'] = "utf8_general_ci";
$db['live']['swap_pre'] = '';
$db['live']['autoinit'] = TRUE;
$db['live']['stricton'] = FALSE;

第一に、Azure VM からのデータ サービスに clearDB を使用することさえ可能かどうか (Azure Web サイトではなく、可能であることに注意してください)、そして第二に、一体どのように設定したかを知っていますか?

ありがとう!

4

1 に答える 1

1

解決済み - Apache の構成が正しくありませんでした。設定:

/usr/sbin/setsebool httpd_can_network_connect 1

問題を解決しました

于 2013-04-25T09:54:12.990 に答える