Myślę, że odpowiedź na twoje pytanie brzmi „nie”.
Nie ma łatwego sposobu na uruchomienie maybe_convert_table_to_utf8mb4
w witrynach, które zostały już uaktualnione poza WP 4.3 na serwerze, który nie spełniał wymagań określonych w tym poście:
https://make.wordpress.org/core/2015/04/02/the-utf8mb4-upgrade/
Zauważ, że patrząc na kod źródłowy WP, wygląda na to, że przenieśli go z sekwencji aktualizacji 4.2 do 4.3 (nie jest już obecny w 4.2, która nie ma żadnych aktualizacji), może licząc na to, że uda się zdobyć więcej użytkowników.
To jest twoja odpowiedź i jest do bani, ale jest dokładniejsza niż inne ¯_ (ツ) _ / ¯
Obecnie pracujemy nad stworzeniem prostego skryptu, który pozwala uruchomić istotę sekwencji aktualizacji na podstawie haka akcji. Jeśli uda nam się go ustabilizować i działać, postaramy się wrócić i udostępnić go tutaj, aby inni mogli z niego korzystać.
Naszym podstawowym planem jest wyodrębnienie rzeczywistej części db upgrade_430()
, odizolowanie jej od systemu aktualizacji db i uruchomienie jej ręcznie.
EDYCJA: ROZWIĄZANIE PONIŻEJ
Chociaż nie ma łatwego sposobu na uruchomienie skryptu, oto ręcznie kodowane obejście oparte na, upgrade_430()
ale zaprojektowane jako drop-in.
https://gist.github.com/carlalexander/4106cfaaf405cec454ba195631bcb6bc
Możesz umieścić to we wtyczce lub po prostu wkleić w pliku functions.php. Tak czy inaczej, powinno to być TYMCZASOWE.
Jest skonfigurowany tak, aby uruchamiał się automatycznie podczas wizyty https://yoursite.com/?update-utf8bm4=1
Zapewnia to, że działa tylko raz i możesz wybrać, kiedy (w przypadku dużych baz danych może to potrwać chwilę i nie chcesz, aby ktokolwiek edytował post podczas jego działania).
Jeśli nie chcesz mieć wyzwalacza GET, po prostu usuń add_action
część i if (!isset($_GET['update-utf8bm4']))
część.
Znowu: USUŃ TO, GDY ZAKOŃCZONO, nie chcesz pozostawiać takiego wyzwalacza GET leżącego w pobliżu :)
maybe_convert_table_to_utf8mb4
(jak każda aktualizacja WP)? Nie wspomniałeś o tym w odpowiedzi;)Czy próbowałeś zmienić sortowanie tabeli bazy danych? Spróbuj tego:
Zaloguj się do phpmyadmin> wybierz bazę danych> Operacje> teraz zmień Sortowanie z listy rozwijanej na „utf8mb4_unicode_ci” lub zmień na to, co było używane na starym serwerze.
Mam nadzieję, że ci się uda.
patrz zrzut ekranu: http://prntscr.com/8ip1ro/direct
Pamiętaj: jeśli eksportujesz plik sql ze starego serwera na komputer i otwierasz go za pomocą dowolnego edytora tekstów ... oraz dostosowujesz i zapisujesz ... to sprawdź, kiedy zapisujesz plik sql. Edytor tekstu "Kodowanie" to Utf-8 .. zobacz mój zrzut ekranu: http://prntscr.com/8ip2nr/direct
Dzięki
źródło