簡體   English   中英

WordPress wp-config.php if-else 在某些計算機上不起作用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM