2017-06-15 2 views
0

同じデータベース構成(ホスト名、ユーザー名、パスワード)を使用するcodeigniterを使用する2つのWebサイトがありますが、外部ファイルからデータベース構成を呼び出せるかどうか尋ねたいですか?私のデータベースのルートパスワードを変更したいのですが、手動で2つのサイトdatabase.phpを変更する必要があります。これで、10のWebサイトがあり、これは難しい作業になります。私はちょうど1つのファイルをすべてのサイトがその設定を使用できるように変更したいと思う。Codeigniterがdatabase.phpを置換する外部ファイルを使用しています

私はPHPmyadmin経由でmysqlを使用しています。

$db['default'] = array(
    'dsn' => '', 
    'hostname' => 'localhost', 
    'username' => 'root', 
    'password' => 'root', 
    'database' => 'MyBlog', 
    'dbdriver' => 'mysqli', 
+0

あなたは、このようにそれを行うことができます。どこにでも1つのファイルを作成し、すべての人に共通でなければなりません。そのファイルをCIフックのcurlを使用して呼び出し、応答でデータベースの資格情報を取得する必要があります。さて、databse.phpでこれらの動的資格情報を渡す方法は?このためにGoogle。これは一方的な方法かもしれませんが、私はそれについてはわかりません。 – Rahul

答えて

1

あなたはすべてのサイトの1つの構成を使用する必要がある場合は、あなたがファイルを作ることができる(すなわちdb_config.php)と、すべてのCIのアプリケーションに利用できるようにどこかにTIを設定します。

db_config.php

<?php 

return [ 
    'dsn' => '', 
    'hostname' => 'localhost', 
    'username' => '', 
    'password' => '', 
    'database' => '', 
    'dbdriver' => 'mysqli', 
    'dbprefix' => '', 
    'pconnect' => FALSE, 
    'db_debug' => (ENVIRONMENT !== 'production'), 
    'cache_on' => FALSE, 
    'cachedir' => '', 
    'char_set' => 'utf8', 
    'dbcollat' => 'utf8_general_ci', 
    'swap_pre' => '', 
    'encrypt' => FALSE, 
    'compress' => FALSE, 
    'stricton' => FALSE, 
    'failover' => array(), 
    'save_queries' => TRUE 
]; 

は、その後、あなたが持っている必要があり、すべてのアプリケーションのあなたのAPPPATH.'config/db.php'に:

$db['default'] = require('/path/to/db_config.php'); 
+0

URLパスの使用を含めるようにしようとしていますが、この質問のような問題が発生しました。https://stackoverflow.com/questions/9498885/cant-include-file-on-remote-server – KaoriYui

+0

重要な詳細をすべて教えてください。この解決策は、通常のファイル要求として使用するためのものです。そのためには、そのファイルの公開場所が必要です。誰にでも読めるので、安全ではありません。アプリケーションは同じサーバーにありませんか? – Tpojka

+0

私はbase_url()を使用しようとしたことについて申し訳ありません、同じサーバーで、ありがとう! – KaoriYui

関連する問題