虽然这确实涉及到 WordPress,但我倾向于认为我的问题的解决方案更多地在于 Xampp 而不是 WordPress 本身,因此我在这里发帖而不是在 WordPress Answers 上发帖。
我之前曾使用 WAMP 通过子域名的 WordPress 网络在本地开发 WordPress 主题。每次我想在新电脑上开发时都必须重新设置,这很麻烦,所以我决定进行便携式安装,这样在使用其他电脑时,我唯一需要更改的文件就是本地 HOSTS 文件。
我的 Xampp portable 可以在闪存驱动器上顺利运行。我也可以在上述安装中顺利运行 WordPress 3.5.1。但是,当我运行 WordPress 的安装以将干净的 WordPress 安装转换为 WordPress 网络(将 WP_Allow_multisite 添加到配置中,然后运行 WP 的网络设置,将所需的设置复制到所需的文件中)时,它就是无法完成。仪表板从未将“我的网站”按钮添加到仪表板,因此我从未获得添加新网站的能力。(是的,我尝试清除缓存。)但是,当我再次转到网络设置时,它确实识别出存在网络。
我对 WordPress 的 MySQL 表比较熟悉,之前曾仔细研究过它们,并在本地和远程之间移动安装时手动编辑过值。当我检查其中一个失败安装的数据库时,我发现在网络安装期间没有创建 WordPress 网络所需的一些表。
我花了大约 3 个小时仔细检查我的主机和 VHost,删除数据库,并多次重新安装 WP Form Scratch。尽管我喜欢自己解决问题,但现在是时候请其他人帮我检查一下我的问题了。
以下是我正在处理的文件:
httpd-vhosts.conf
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot "/xampp-portable/htdocs"
ServerName localhost
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/xampp-portable/htdocs/mysite"
ServerName mysite.loc
ServerAlias *.mysite.loc
<Directory "/xampp-portable/htdocs/mysite">
Options Indexes FollowSymLinks Includes
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Windows HOSTS 文件
127.0.0.1 localhost
127.0.0.1 mysite.loc
127.0.0.1 www.mysite.loc
127.0.0.1 site1.mysite.loc
127.0.0.1 *.mysite.loc
wp-配置
<?php
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'gmi_main_wp');
/** MySQL database username */
define('DB_USER', 'mysite_admin');
/** MySQL database password */
define('DB_PASSWORD', 'censored');
/** MySQL hostname */
define('DB_HOST', 'localhost');
/** Database Charset to use in creating database tables. */
define('DB_CHARSET', 'utf8');
/** The Database Collate type. Don't change this if in doubt. */
define('DB_COLLATE', '');
/**#@+
* Authentication Unique Keys and Salts.
*
* Change these to different unique phrases!
* You can generate these using the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}
* You can change these at any point in time to invalidate all existing cookies. This will force all users to have to log in again.
*
* @since 2.6.0
*/
define('AUTH_KEY', 'jo`QznTiAC3?a/V($j9]3e){#*-IAK=ifHIOLk$bryzLCMtp@&`&EI@)r-i>$@vW');
define('SECURE_AUTH_KEY', 'HCm0;@[bv0 }tKMR~dtl6fZMQC-T6} k^tyP& nP7%s.ut ]R<:fO5+8jG$BX$6T');
define('LOGGED_IN_KEY', 'hkg@N&?;$}mq>qL`o&0*Ni<:Oc=K#)d:a`.pdareq`n0&;X6/o|6g2aCd#%jee%D');
define('NONCE_KEY', 'BZN6oCg7(.|$,Wsf!+4%KT,Xc=G&yLRE&283[<_;8 ~L9+HQ6?>AD~1O$6@AN1;;');
define('AUTH_SALT', 'y7Xx}F+U8hoMke-y|s!Mqum2GjSGoSi)As$]0%vqpZj/Gmg+-u_K+x6z(@^X@sTB');
define('SECURE_AUTH_SALT', '1(e`{l$EzdRjkQ}s9Z<g:fa|6X$RHz7d?L5r5q#O(EiVi&]03lgl{D~:~lM)jYF-');
define('LOGGED_IN_SALT', 'GhJ)gh7q3Vfl~zL,Ct1AoWt?gj5EhTcxI;:}?V^G#]354SIGg/;8+S=,qC_F%f2V');
define('NONCE_SALT', 'd2ee=WxWsm`^+KO}6$#fQ[S3fTGWy n$5`/0.fpK|nU1dq>e8j(.[7X!wS)[e>e}');
/**#@-*/
/**
* WordPress Database Table prefix.
*
* You can have multiple installations in one database if you give each a unique
* prefix. Only numbers, letters, and underscores please!
*/
$table_prefix = 'main_wp_';
/**
* WordPress Localized Language, defaults to English.
*
* Change this to localize WordPress. A corresponding MO file for the chosen
* language must be installed to wp-content/languages. For example, install
* de_DE.mo to wp-content/languages and set WPLANG to 'de_DE' to enable German
* language support.
*/
define('WPLANG', '');
/**
* For developers: WordPress debugging mode.
*
* Change this to true to enable the display of notices during development.
* It is strongly recommended that plugin and theme developers use WP_DEBUG
* in their development environments.
*/
define('WP_DEBUG', false);
/* That's all, stop editing! Happy blogging. */
/** Absolute path to the WordPress directory. */
if ( !defined('ABSPATH') )
define('ABSPATH', dirname(__FILE__) . '/');
/** Sets up WordPress vars and included files. */
require_once(ABSPATH . 'wp-settings.php');
/* Multisite */
//define('WP_SITEURL','http://mysite.loc');
//define('WP_ALLOW_MULTISITE', true);
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true);
define('DOMAIN_CURRENT_SITE', 'mysite.loc');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);
.htaccess
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]
最后是数据库表的图片。我觉得缺少了一些应该创建的表:
答案1
解决方案:我将 Mutisite 代码块粘贴在“就这样,停止编辑!祝您博客愉快。”行下方。我经常安装多站点,因此没有注意到那部分。
因此,如果您认为您已正确安装了多站点,但“我的站点”按钮从未出现,则说明您将定义粘贴在文件中太靠后了。