1

この問題は Drupal で発生していますが、一般的な Apache - PHP 構成に起因する可能性があります。私の構成ファイルでは、サーバー変数によって使用するデータベースを決定しています。

if($_SERVER['ENV'] == 'development') {
//Use connection A
} else {
//Use connection B
}

Apacheでは、envを次のように設定しています:

<VirtualHost *:80>
//Other normal Apache variables set
SetEnv ENV development
</VirtualHost>

私の通常の Web サイト設定では、Web サーバー経由で PHP にアクセスすると、これは問題なく動作します。しかし、コマンドラインにある drush を使用してコマンドを実行しようとしていますが、常に間違ったデータベースに接続します。問題は、コマンド ライン php が常に接続 B に接続することであり、必ずしも drush ではないと思います。

ENV を apache とコマンドラインの両方で動作するように設定するにはどうすればよいですか? OSはubuntuです。

4

3 に答える 3

1

DrushはApacheを使用してコマンドを実行するのではなく、PHPファイルを直接ロードして実行します。サーバー上で変数をグローバルに設定するには、編集/etc/environmentして追加できます

ENV=development

Ubuntuでの環境変数の設定について詳しくは、このヘルプ記事をご覧ください。

于 2013-02-25T04:23:53.040 に答える
1

--uri スイッチは、実行時に HTTP_HOST が設定されていない場合に使用するドメインを Drush に通知します。

例:drush --uri=http://uri-to-development cc all

毎回入力する必要がないように、各マシンの drushrc に追加できます。

于 2014-05-12T16:13:48.013 に答える