PHP 警告:strpos():第 353 行 D:\Hosting0000\html\xxxx\wp-admin\includes\network.php 中的空针
PHP Warning: strpos(): Empty needle in D:\Hosting\110000\html\xxxx\wp-admin\includes\network.php on line 353
单击工具中的网络设置时,我尝试在我的站点中安装多站点:
我得到:
PHP 警告:strpos():第 353 行 \Hosting0000\html\xxxx\wp-admin\includes\network.php 中的空针
/**
* Prints step 2 for Network installation process.
*
* @since 3.0.0
*
* @global wpdb $wpdb WordPress database abstraction object.
*
* @param WP_Error $errors
*/
function network_step2( $errors = false ) {
global $wpdb;
$hostname = get_clean_basedomain();
$slashed_home = trailingslashit( get_option( 'home' ) );
$base = parse_url( $slashed_home, PHP_URL_PATH );
$document_root_fix = str_replace( '\', '/', realpath( $_SERVER['DOCUMENT_ROOT'] ) );
$abspath_fix = str_replace( '\', '/', ABSPATH );
$home_path = 0 === strpos( $abspath_fix, $document_root_fix ) ? $document_root_fix . $base : get_home_path();
$wp_siteurl_subdir = preg_replace( '#^' . preg_quote( $home_path, '#' ) . '#', '', $abspath_fix );
$rewrite_base = ! empty( $wp_siteurl_subdir ) ? ltrim( trailingslashit( $wp_siteurl_subdir ), '/' ) : '';
$location_of_wp_config = $abspath_fix;
if ( ! file_exists( ABSPATH . 'wp-config.php' ) && file_exists( dirname( ABSPATH ) . '/wp-config.php' ) ) {
$location_of_wp_config = dirname( $abspath_fix );
}
$location_of_wp_config = trailingslashit( $location_of_wp_config );
第 353 行:
$home_path = 0 === strpos( $abspath_fix, $document_root_fix ) ? $document_root_fix . $base : get_home_path();
Wordpress 文件不在根文件夹中,而是在子目录中,我使用的域指向该子目录。
如何添加一个wordpress多站点网络?
知道如何解决这个问题。
请帮忙。
Screenshot of the script
有小链可循:
针是$document_root_fix
。
部分由 $_SERVER['DOCUMENT_ROOT']
创建
我猜 $_SERVER['DOCUMENT_ROOT']
未设置或为空。
如果是这种情况,那可能是 apache 的错。你如何安装多站点?通过网站或您正在使用 wp-cli?
等工具
一个肮脏的解决方案是硬编码这个修复。
$home_path = get_home_path();
!!!安装完一定要改回来!!!
单击工具中的网络设置时,我尝试在我的站点中安装多站点:
我得到: PHP 警告:strpos():第 353 行 \Hosting0000\html\xxxx\wp-admin\includes\network.php 中的空针
/**
* Prints step 2 for Network installation process.
*
* @since 3.0.0
*
* @global wpdb $wpdb WordPress database abstraction object.
*
* @param WP_Error $errors
*/
function network_step2( $errors = false ) {
global $wpdb;
$hostname = get_clean_basedomain();
$slashed_home = trailingslashit( get_option( 'home' ) );
$base = parse_url( $slashed_home, PHP_URL_PATH );
$document_root_fix = str_replace( '\', '/', realpath( $_SERVER['DOCUMENT_ROOT'] ) );
$abspath_fix = str_replace( '\', '/', ABSPATH );
$home_path = 0 === strpos( $abspath_fix, $document_root_fix ) ? $document_root_fix . $base : get_home_path();
$wp_siteurl_subdir = preg_replace( '#^' . preg_quote( $home_path, '#' ) . '#', '', $abspath_fix );
$rewrite_base = ! empty( $wp_siteurl_subdir ) ? ltrim( trailingslashit( $wp_siteurl_subdir ), '/' ) : '';
$location_of_wp_config = $abspath_fix;
if ( ! file_exists( ABSPATH . 'wp-config.php' ) && file_exists( dirname( ABSPATH ) . '/wp-config.php' ) ) {
$location_of_wp_config = dirname( $abspath_fix );
}
$location_of_wp_config = trailingslashit( $location_of_wp_config );
第 353 行:
$home_path = 0 === strpos( $abspath_fix, $document_root_fix ) ? $document_root_fix . $base : get_home_path();
Wordpress 文件不在根文件夹中,而是在子目录中,我使用的域指向该子目录。
如何添加一个wordpress多站点网络?
知道如何解决这个问题。
请帮忙。
Screenshot of the script
有小链可循:
针是$document_root_fix
。
部分由 $_SERVER['DOCUMENT_ROOT']
我猜 $_SERVER['DOCUMENT_ROOT']
未设置或为空。
如果是这种情况,那可能是 apache 的错。你如何安装多站点?通过网站或您正在使用 wp-cli?
一个肮脏的解决方案是硬编码这个修复。
$home_path = get_home_path();
!!!安装完一定要改回来!!!