在为网站开发设置新的Wordpress安装时,我发现了一个奇怪的小问题,该问题只会在某些情况下发生。我当前的开发平台由一个Apache服务器组成,在该服务器上,我为所需的每个开发站点都创建了一个虚拟主机。但是,我没有为每个地址设置DNS条目,而是仅监听不同的端口。在此特定实例中,我使用端口59419。
安装完成后,在每个管理页面的顶部都出现以下错误。
Warning: parse_url(http://10.0.0.1:594191?ver=20091217) [function.parse-url]: Unable to parse URL in \www\wp-includes\script-loader.php on line 542
由于某些原因,WordPress在端口号的末尾添加了“ 1”,这导致URL在呼叫时引发警告消息,parse_url()因为端口号不能大于65535(取决于系统)。通常,在大多数设置中这不会引起问题,但是在这种情况下,它会将端口号增加到恰好足以引发此错误的程度。
尽管警告是在wp-includes \ script-loader.php的第542行发出的,但实际上我在同一文件中将有问题的代码跟踪到了第438行。这是上面的注释以及它的注释:
// Register "meta" stylesheet for admin colors. All colors-* style sheets should have the same version string. $styles->add( 'colors', true, array(), $colors_version );
该真值通常是一个CSS文件名,但要设置一些初始条件的管理风格剩下的就是需要这一个。因此,当将其附加到基本路径时,它将转换为1,这是在PHP中回显真实布尔值时通常发生的情况。为了解决这个问题,我只是用一个包含斜杠的字符串替换了这个真实值。
$styles->add( 'colors', '/', array(), $colors_version );
这对此代码的功能没有影响。完全删除此行将导致管理区域丢失所有颜色和图像。
尽管这是一个很小的错误,但它一定在过去的某个时候导致某人的系统出现问题。因此,在其他人遇到相同问题的情况下,我将此修复程序放在此处。