同じドメイン (example.com、site2.example.com) に 2 つのサイトがあり、両方がメイン サイト (example.com) から同じユーザー テーブルなどを参照するようにしようとしています。両方。
2 つの DB を設定し (それぞれに 1 つずつ)、必要なすべての権限で両方にアクセスできるユーザーを設定しました。2 番目のサイトの settings.php を以下のように変更しました (および多数のバリエーション):
$databases['default']['default'] = array(
'driver' => 'mysql',
'database' => 'database_site2',
'username' => 'multi_username',
'password' => 'multi_password',
'host' => 'localhost',
'prefix' => array(
'default' => 'database_site2.',
'users' => 'database_main_site.',
'sessions' => 'database_main_site.',
'role' => 'database_main_site.',
'authmap' => 'database_main_site.',
),
);
残念ながら、この変更を行った後に site2 にアクセスしようとすると、次のエラー メッセージが表示されます。
シャットダウン関数でキャッチされない例外がスローされました。
PDOException: SQLSTATE[42000]: 構文エラーまたはアクセス違反: 1064 SQL 構文にエラーがあります。>正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。near '-amalga-01.semaphore WHERE (value = >'1471293032527ac89955a330.73110726')' at line 1: DELETE FROM {semaphore} >WHERE (value = :db_condition_placeholder_0) ; lock_release_all() の配列 ( [:db_condition_placeholder_0] => >1471293032527ac89955a330.73110726 ) (>/home/sites/amalgamart.co.uk/public_html/exampletown/includes/lock.inc の 269 行目)。
誰かがこれで私を助けることができれば、私は永遠に感謝します!
ありがとう!