[英]WordPress wp-config.php if-else is not working on some computers
我在本地和远程设置中有相同的 wp-config。
下面的代码检查用户是否正在加载站点的本地或实时版本,并使用适当的数据库凭据:
/*
* Unified variables
*/
$hostname = 'localhost';
$chartset = 'utf8';
*etcetc....
/*
* Check for the current environment
*/
if ($_SERVER["HTTP_HOST"] === 'example.dev') {
$db_name = 'example';
$user_name = 'root';
$password = 'root';
} else
{
$db_name = 'remote_db_name';
$user_name = 'remote_db_user';
$password = 'remote_db_pw;
}
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', $db_name);
/** MySQL database username */
define('DB_USER', $user_name);
//etc....
这个有效。 但是如果我以其他方式翻转 if 命令,那么它
if ($_SERVER["HTTP_HOST"] === 'example.com') {
$db_name = 'example';
$user_name = 'root';
$password = 'root';
} else
{
$db_name = 'remote_db_name';
$user_name = 'remote_db_user';
$password = 'remote_db_pw;
}
它适用于我使用几种不同的设备和连接,但对于我的客户它不再适用。 任何想法为什么会这样?
我需要它是另一种方式,因为我正在使用其他设备测试我的设计,网址如下: http : //example.dev.192.168.1.3.xip.io ,如果所有本地开发的强度都会更好像 example.dev 和http://example.dev.192.168.1.3.xip.io将是 if-else 中的“else”-case。
什么可能导致我的客户端出现数据库错误? 他尝试了几种设备和连接,如果实时服务器处于“其他”情况而不是“其他”情况,问题就会消失。
if ($_SERVER["HTTP_HOST"] === 'example.com') {
也许考虑这样的事情:
if ( stristr( $_SERVER['HTTP_HOST'], 'example.dev' ) ) {
}
这将适用于您上面给出的示例。 您甚至可以尝试 example.com 作为指针。 我很好奇 www. 会出现在 HTTP_HOST 中。 如果是这样,这可能是您的客户遇到问题的原因吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.