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