Saya memulihkan cadangan dari produksi secara lokal dan mencoba untuk memindahkan barang-barang dan menekan admin / modul atau untuk menjalankan registry_rebuild () tetapi tidak menghentikan kesalahan fatal yang dilemparkan. Ini masuk akal bagi saya karena beberapa modul dapat menggunakan include atau apa pun di hook_init () mereka, atau Anda mungkin memiliki set path router menu yang tergantung pada sebuah modul atau menyertakan Drupal yang tidak dapat ditemukan pada bootstrap. Pada akhirnya, inilah yang saya lakukan (jalur Anda mungkin berbeda):
Langkah 1: Ganti situs / semua / modul dengan situs / semua / modul / contrib
UPDATE system SET filename = REPLACE(filename, 'sites/all/modules', 'sites/all/modules/contrib');
UPDATE registry SET filename = REPLACE(filename, 'sites/all/modules', 'sites/all/modules/contrib');
UPDATE registry_file SET filename = REPLACE(filename, 'sites/all/modules', 'sites/all/modules/contrib');
Langkah 2: Ganti situs / semua / modul / contrib dengan situs / semua / modul / custom untuk modul dengan spasi nama kustom
UPDATE system SET filename = REPLACE(filename, 'sites/all/modules/contrib', 'sites/all/modules/custom') WHERE name LIKE 'my_custom_namespace_%';
UPDATE registry SET filename = REPLACE(filename, 'sites/all/modules/contrib', 'sites/all/modules/custom') WHERE name LIKE 'my_custom_namespace_%';
UPDATE registry_file SET filename = REPLACE(filename, 'sites/all/modules/contrib', 'sites/all/modules/custom') WHERE filename LIKE '%my_custom_namespace_%';
Langkah 3: Pindahkan modul dev ke situs / semua / modul / dev
UPDATE system SET filename = REPLACE(filename, 'sites/all/modules/contrib', 'sites/all/modules/dev') WHERE name LIKE 'devel%';
UPDATE registry SET filename = REPLACE(filename, 'sites/all/modules/contrib', 'sites/all/modules/dev') WHERE name LIKE 'devel%';
UPDATE registry_file SET filename = REPLACE(filename, 'sites/all/modules/contrib', 'sites/all/modules/dev') WHERE filename LIKE '%devel%';
Langkah 4: Bersihkan cache sehingga semuanya bisa bootstrap dengan benar
TRUNCATE TABLE cache
TRUNCATE TABLE cache_bootstrap
TRUNCATE TABLE cache_menu
TRUNCATE TABLE cache_page
TRUNCATE TABLE cache_path
Catatan: Jika Anda menggunakan modul khusus atau kontribus seperti LoginToboggan untuk menangani 403 (akses ditolak) dan Anda telah logout selama proses ini, Anda mungkin perlu memperbarui include_file
kolom di menu_roter
tabel untuk menggunakan jalur baru untuk file include. . Ini mungkin kejadian langka.
UPDATE menu_router SET include_file = 'sites/all/modules/custom/my_custom_namespace/includes/foo.inc' WHERE path = 'access-denied'
Setelah kueri ini dijalankan - yang hanya membutuhkan waktu sepersekian detik - tekan admin / config / pengembangan / kinerja dan kosongkan cache sehingga jalur menu dibangun kembali.
registry_file
tabel Anda , yang akan memaksa drupal untuk memindai ulang semua file dan membangun kembali tabel.