Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache 无法安装站点网络-Wordpress和XAMPP_Apache_Xampp_Wordpress - Fatal编程技术网

Apache 无法安装站点网络-Wordpress和XAMPP

Apache 无法安装站点网络-Wordpress和XAMPP,apache,xampp,wordpress,Apache,Xampp,Wordpress,我正试图用wordpress和XAMPP创建一个网站网络,但当我转到工具->网络时,出现以下错误: ERROR: You cannot install a network of sites with your server address. You cannot use port numbers such as :8080. 我所有的网站都在 C:\xampp\htdocs 我可以这样看待他们: http://localhost:8080/sitename 我试图创建一个虚拟主机和一个假域

我正试图用wordpress和XAMPP创建一个网站网络,但当我转到工具->网络时,出现以下错误:

ERROR: You cannot install a network of sites with your server address.
You cannot use port numbers such as :8080.
我所有的网站都在

C:\xampp\htdocs
我可以这样看待他们:

http://localhost:8080/sitename
我试图创建一个虚拟主机和一个假域名,但我无法让它工作


有人能帮忙吗?提前感谢。

我找到了临时解决方案:


在CMD中运行“netstat-o-n-a | findstr 0.0.80”将显示哪个服务正在使用端口80。如果PID为4,则表示系统使用端口80(如果安装了IIS或web matrix,则可能是IIS或web matrix-这是我的情况)。我从IIS管理器中更改了IIS使用的端口,并停用了MsDepSvc服务(Web Matrix),该服务也使用端口80。在那之后,我重新配置了apache以在端口80中工作,一切正常

问题在于,Wordpress在创建站点网络时不支持端口
8080

它与端口80和443一起工作

在这种情况下,如何修复它并使用所需的端口
8080

  • wp admin\includes\network.php-[Line-121]

  • 查找这段代码

    if ( ( false !== $has_ports && ! in_array( $has_ports, array( ':80', ':443' ) ) ) ) {
    echo '<div class="error"><p><strong>' . __( 'ERROR:') . '</strong> ' . __( 'You cannot install a network of sites with your server address.' ) . '</p></div>';
    echo '<p>' . sprintf( __( 'You cannot use port numbers such as <code>%s</code>.' ), $has_ports ) . '</p>';
    echo '<a href="' . esc_url( admin_url() ) . '">' . __( 'Return to Dashboard' ) . '</a>';
    echo '</div>';
    include( ABSPATH . 'wp-admin/admin-footer.php' );
    die();
    }
    
  • 调整代码以包含所需的端口8080,使其看起来像这样

    if ( ( false !== $has_ports && ! in_array( $has_ports, array( ':80', ':443', ':8080' ) ) ) ) {
    
  • 就这些。保存network.php文件并再次登录到项目

  • 我认为这是个坏主意,我用wordpress-4.9.8-en_-US试过了。确保黑客绕过可湿性粉剂限制和第一个网站(自动添加)工程。但是我添加的第二个站点被破坏了,一些带有URL的东西,我得到了404。我尝试了几次这种设置,最后我将设置改为使用localhost。到目前为止还不错。绕过检查的问题是,WP不是为多站点使用自定义端口而设计的,因此博客(子站点)主机在数据库中会出错。切换到多站点或创建新站点后,需要转到数据库管理页面(例如phpMyAdmin)并修复wp_blogs表中的blogs域。基本上WP无法在主机和端口之间添加冒号;只需添加它->
    localhost8080
    变成
    localhost:8080
    。然后在站点的设置中,将缺少的冒号添加到站点URL和主URL中。对于localhost,这个答案就足够了。我认为可能还有更多。请参阅Benohead博客上的这篇文章:。