Estoy siguiendo este tutorial para crear una red de sitios de WordPress. Después de agregar
/* Multisite */
define( 'WP_ALLOW_MULTISITE', true );
a mi wp-config.php
archivo y cuando empiezo a configurar la red multisitio recibí este error
ERROR: You cannot install a network of sites with your server address.
You cannot use port numbers such as :8080
Trato de cambiar
Listen 0.0.0.0:8080
Listen [::0]:8080
a
Listen 0.0.0.0:80
Listen [::0]:80
a partir httpd.conf
de Apache, pero debido a este servidor Wamp permanezca de color naranja. Cómo resolver esto. Soy nuevo en WordPress Cualquier ayuda sería muy apreciada.
echo get_clean_basedomain();
? Los puertos admitidos parecen ser:80
y:443
.Respuestas:
Advertencia: esto es solo una prueba para instalaciones de desarrollo y no para sitios de producción
Tenía curiosidad por ver si había una solución, para aquellos que quieren desarrollar multi-sitio en sus instalaciones dev pero en diferentes puertos que
:80
y:443
, por ejemplo:8080
.Solo encontré esta publicación de blog de Henri Benoit. Allí da ejemplos de cómo modificar el núcleo 3.9.1, para sortear las restricciones del núcleo.
Aquí hay un complemento de uso obligatorio
/wp-content/mu-plugins/wpse-ms-on-different-port.php
en el que intentamos evitar las modificaciones principales:Acabo de probar esto en mi instalación de desarrollo, pero esto podría necesitar más controles, por supuesto ;-)
fuente
/wp-content/mu-plugins/wpse-ms-on-different-port.php
Mi problema se resuelve usandoif ( ( false !== $has_ports && ! in_array( $has_ports, array( ':80', ':443', ':8080' ) ) ) ) {
inwp-admin\includes\network.php
pero Hacking Core es una mala práctica.mu-plugins
directorio en/wp-content/
. Tenga en cuenta que no es suficiente modificar el núcleo de esa manera, porque no podrá crear nuevos sitios porquesanitize_user()
elimina el punto y coma (:). @raxaNo puede usar el puerto 8080. No tengo idea de por qué, ya que es un puerto bastante común para un servidor web. Sin embargo, no puedes :
Aviso
! in_array( $has_ports, array( ':80', ':443' ) )
. Esos puertos están codificados. No hay filtros que pueda usar para alterarlos, ni siquiera enget_clean_basename()
(y me temo que adivinar qué horrores crearía si pudiera alterar lo que eso devuelve).Modifique su servidor para usar el puerto 443 o el puerto 80 en su lugar.
fuente
if ( ( false !== $has_ports && ! in_array( $has_ports, array( ':80', ':443', ':8080' ) ) ) ) {
ennetwork.php in wp-admin\includes\network.php - [Line-121]