Wykonuję ten samouczek, aby utworzyć sieć witryn WordPress. Po dodaniu
/* Multisite */
define( 'WP_ALLOW_MULTISITE', true );
do mojego wp-config.php
pliku i kiedy zaczynam konfigurować sieć wielostanowiskową, pojawia się ten błąd
ERROR: You cannot install a network of sites with your server address.
You cannot use port numbers such as :8080
Próbuję się zmienić
Listen 0.0.0.0:8080
Listen [::0]:8080
do
Listen 0.0.0.0:80
Listen [::0]:80
z httpd.conf
Apache, ale z tego powodu serwer pozostaje pomarańczowy. Jak rozwiązać ten problem. Jestem nowy w WordPress. Każda pomoc byłaby bardzo mile widziana.
echo get_clean_basedomain();
? Obsługiwane porty wydają się być:80
i:443
.Odpowiedzi:
Ostrzeżenie: to tylko test dla instalacji deweloperskich, a nie witryn produkcyjnych
Byłem ciekawy, czy istnieje obejście tego problemu dla tych, którzy chcą rozwijać wiele witryn w swoich instalacjach deweloperów, ale na innych portach niż
:80
i:443
np:8080
.Znalazłem tylko ten post na blogu autorstwa Henri Benoit. Tam podaje przykłady modyfikacji rdzenia 3.9.1, aby obejść podstawowe ograniczenia.
Oto niezbędna wtyczka, w
/wp-content/mu-plugins/wpse-ms-on-different-port.php
której staramy się unikać podstawowych modyfikacji:Właśnie przetestowałem to na mojej instalacji deweloperskiej, ale może to oczywiście wymagać więcej kontroli ;-)
źródło
/wp-content/mu-plugins/wpse-ms-on-different-port.php
mój problem jest rozwiązany poprzez zastosowanieif ( ( false !== $has_ports && ! in_array( $has_ports, array( ':80', ':443', ':8080' ) ) ) ) {
wwp-admin\includes\network.php
ale Hacking Core jest złą praktyką.mu-plugins
katalog pod/wp-content/
. Zauważ, że nie wystarczy zmodyfikować rdzeń w ten sposób, ponieważ nie będziesz w stanie tworzyć nowych stron, ponieważsanitize_user()
usuwa średnik (:). @raxaNie można użyć portu 8080. Nie mam pojęcia, dlaczego jest to dość powszechny port dla serwera WWW. Nie możesz jednak :
Wskazówka
! in_array( $has_ports, array( ':80', ':443' ) )
. Porty te są zakodowane na stałe. Nie ma filtrów, których można by użyć do ich zmiany, nawet wget_clean_basename()
(i boję się zgadnąć, jakie okropności stworzyłbyś, gdybyś mógł zmienić to, co powróci).Zmień serwer, aby zamiast tego używał portu 443 lub portu 80.
źródło
if ( ( false !== $has_ports && ! in_array( $has_ports, array( ':80', ':443', ':8080' ) ) ) ) {
innetwork.php in wp-admin\includes\network.php - [Line-121]