2017-08-17 5 views
0

私は現在データベース用にPHPとmysqlを使用してウェブサイトを作成中です。私は、デバッグとライブサーバーへの送信のために、WAMPを使用しているローカルサーバーとの間で酷評しています。だから私は自動的にデータベース名、ユーザー名とパスワードをウェブサイト上にあるサーバーに従って調整する方法があるのだろうかと思っていた。現在は手動でやっているだけですが、忘れてしまいます。特に、友達がテストするためにライブサーバーに何度もアップロードしているので迷惑になります。 $_SERVER['REMOTE_ADDR']を試してみましたが、なんらかの理由で動作しません。皆さんはどんな解決策も持っていますか、それとも手動でやり直すべきですか?データベース名、ユーザー名、パスワードを自動的に調整する方法はありますか?

+0

ローカルDB、ユーザー、パスワードをリモートの名前に変更してください。または私は質問を理解していない。 –

+0

[PHPでローカルホストまたはライブ環境を検出](https://stackoverflow.com/questions/2753249/localhost-live-detect-by-http-host) – sidyll

答えて

1

それについて移動する方法はいくつかあります。

  • サーバー名がgethostnameであることを確認し、それに基づいて資格情報を切り替えます。
  • 資格情報を持つ各サーバー上に、同じ名前/パスでファイルを作成します。ライブサーバーにアップロードするときにそのファイルを更新しないでください。

コードに.envなどの環境ファイルがある場合は、それを使用してください。

0

サーバーの設定で/doc/root/path/.envというファイルを作成します。それからmysql資格を取得し、残りのコードでそれを更新しないでください。

.env(ローカルサーバー用).env(プロダクション用)

MYSQL_USER=user 
MYSQL_PASSWD=passwd 
MYSQL_DB=dbname 

<?php 
$config = parse_ini_file('./.env'); 
0

生産と開発の2つの状態を含む環境クラスがあります。それぞれの状態について、異なるデータベースの資格情報を入力します。私の場合は、環境クラスの定数があります。 ..定数はブール値trueまたはfalseです。例えば

環境:: PRODUCTION

生産定数はブール値になります。..

生産で、それはその逆、他の生産の資格情報を使用して開発を使用している場合。資格情報を.iniファイルまたはphpファイルに格納することができます。それが前者の場合は、ファイルがドキュメントルートの外側にあることを確認してください。

関連する問題