2013-11-23 82 views
1

我的WordPress登錄頁面mysite.com/wp-login.php給我一個cannot connect to 127.0.0.1錯誤。WordPress登錄屏幕數據庫問題

該網站的作品,和其他WordPress管理頁面可用,如upgrade.php。我做了一些谷歌搜索,嘗試了一些在這裏的建議:http://wordpress.org/support/topic/error-establishing-a-database-connection-112

但無濟於事。管理員已經工作了幾個星期,沒有任何改變。在config.php中一切都看起來正確。該網站是在AN主機上,我登錄到cPanel上的phpMyAdmin,一切似乎都與數據庫的順序

我幾乎沒有數據庫問題和MySQL的經驗,所以我有點慌張。

+0

只是一個說明。當網站啓動時,我確實將Wordpress安裝從'dev'文件夾移動到站點根目錄,是否會導致此問題?過去一個多月來,它一直在無事故地工作。 – Chris

+0

你可以編輯你的問題,並添加這個筆記,它的一個重要的,它可能會導致麻煩,如果不是這一個,它可以是其他,並且我已經回答之前看到它:(:(請檢查我的答案,如果它doesn幫助,留下我的評論 –

+0

嗨克里斯,只是想知道你是否需要嘗試我的解決方案嗎?我很好奇它是否會爲你工作,因爲它好像只是阻止你的登錄頁面連接到數據庫,所以做一個自定義的可能可以工作 –

回答

0

同樣的問題。主機阻止你。他們阻止任何嘗試在他們的某些共享服務器上登錄。我將wp-login.php頁面更改爲新地址,並更正了WordPress文件夾中的所有引用。

現在一切正常。但是,它只會在下一次更新之前有效。

AN Hosting表示他們只是暫時這樣做,因爲他們一直在面對WordPress登錄的某種類型的攻擊。如果你問我這很蹩腳。他們需要解決這個問題。

給他們打電話!我也會再次打電話給他們抱怨。

+0

請檢查我的答案,看看它是否適用於您,它應該提供更新證明回答問題的方法。 –

+0

這一定是問題所在。突然開始工作。謝謝!未來會意識到這一點。 – Chris

-1

詢問您的託管服務提供商您的數據庫主機應該是什麼,並相應地更新DB_HOSTwp-config.php

這通常是localhost127.0.0.1但在某些主機上它可能是完全不同的東西,如果沒有詢問就不能猜測 - 例如我之前曾經爲GoDaddy提供過奇怪的主機名(幾年前我仍然用GD做任何事情)。

+0

該操作系統狀態「...該網站的作品,和其他WordPress的管理頁面可用...」這意味着,這是沒有辦法的問題是相關的到配置文件,因爲WordPress能夠連接到數據庫(到處都是,除了wp-login.php)。 –

0

這很奇怪,如果它工作之前,而不是現在。

我用來獲取麻煩連接到我的數據庫與WordPress (因爲我安裝WordPress網站多oftern),但是當以往任何時候都失敗對我來說,問題是在主機名

我建議你檢查你的數據庫的主機名,如果您可以登錄到的cPanel你可以找到表單中的數據基本接口

看吧:

如果您指定正確的應該是沒有問題的


enter image description here

看到你留下的評論後:

enter image description here

然後檢查本節中的主機名在你的問題之後,這讓我想起了

進入

phpMyAdmin的 - >您的WP數據庫 - >選項表和檢查站點URL值,它可能仍然指向舊開發網址

0

因此,根據@ user3035755給出的答案,我可以給你以下解決方法:

在你的根目錄下,創建一個名爲(例如 - 如果你想改變它的話)login.php(不確定是否接受「login」這個單詞 - 你可能需要稍微玩一下,直到有些作品)。在此文件中添加以下代碼:

<?php 
include_once(dirname(__FILE__) . '/wp-login.php'); 

此代碼將包含原始的wp-login.php文件。我不確定他們的限制是如何工作的 - 如果它是基於數據庫調用的地方(如從哪個確切文件中獲取),那麼它可能會失敗,因爲連接仍然會從wp-login.php(儘管我認爲這不是他們如何做到的)。如果他們檢查正在執行的文件,那麼你應該沒問題(因爲在那種情況下,它會是login.php - 再次,你可能不得不改變它)。

現在,這只是第一步 - 您可以在每次登錄時手動進入login.php,但是如果自動調整登錄URL,會更好。爲此,請轉到/wp-content/目錄並創建(如果它不存在)mu-plugins 目錄。在那裏創建一個名爲new-login的新文件。PHP並在該文件把下面的代碼:

<?php 
/* 
    Plugin Name: New Login URL 
    Plugin Description: Makes the login URL /login.php instead of /wp-login.php 
*/ 
function nl_login_url_filter($login_url) { 
    return str_ireplace(home_url('/wp-login.php'), home_url('/login.php'), $login_url); 
} 
add_filter('login_url', 'nl_login_url_filter', 10); 

function nl_logout_url($logout_url) { 
    return str_ireplace(home_url('/wp-login.php'), home_url('/login.php'), $logout_url); 
} 
add_filter('logout_url', 'nl_logout_url', 10); 

那麼在這個插件情況是,它只是掛鉤到login_urllogout_url過濾器和改變http://mydomain.com/wp-login.php?test1=23&test4=56http://mydomain.com/login.php?test1=23&test4=56

這種方式你不必照顧總是輸入login.php而不是wp-login.php。

再次 - 如果不起作用,請嘗試爲文件使用不同的名稱,例如enter.php(例如),只需記住更改new-login.php文件中的文件名。


腳註:

  1. 的/可溼性粉劑內容/畝-插件/目錄是一個特殊的目錄。所有.php文件直接在它裏面(不在子目錄中)按字母順序包含。因此,基本上,任何插入的插件都將始終啓用(禁用mu插件的唯一方法是在mu-plugins目錄中刪除它的文件)。你可以閱讀更多關於MU-插件here
0

在那裏做了,但是,這並不意味着我的指導線具有相同的陽性結果
你,但也許它可以幫助一點點。下面一個小的產品路線圖的步驟,你可以採取:

  • 這些2(網站網址和家庭),你可以在wp_config.php補充​​。

    define('WP_HOME','http://yoursite.com');// blog url 
    define('WP_SITEURL','http://yoursite.com'); // site url 
    

  • 它是否作出登錄什麼變化嗎?也許你檢查phpMyAdmin(通過cPanel)。

  • 檢查wp_options(該$table_prefix = '???_' ???是什麼,你已經把那裏,
    你會發現它的wp-config.php文件)。

    現在看第1行option_id 1/option_name siteurl/option_value這裏必須是您的域名url。

    現在找到第36行option_id 36/option_name首頁/ option_value這裏應該是您的域名url。
    如果他們不正確我假設你做了更正,將它們保存到數據庫,並檢查你是否能夠現在登錄。

  • Stil不工作?也許下面將好還要檢查:

  • 什麼.htaccess文件顯示(正確路徑?)
  • 添加如果尚未在wp_config一些調試「東西」。php:

    define('WP_DEBUG', true); // Or false to disable 
    if (WP_DEBUG) { 
    define('WP_DEBUG_LOG', true); // writes errors down in wp-content/debug.log 
    define('WP_DEBUG_DISPLAY', true); // shows errors on screen output, set to false so only write into logfile 
    define('SAVEQUERIES', true); // will have a performance impact so disable if not needed 
    define('SCRIPT_DEBUG', true); // Use dev versions of core JS and CSS files (only needed if you are modifying these core files) 
    } 
    

    如果在wp-content中沒有顯示debug.log,您可以手動創建該文件。

  • 順便說一句,是wp-login.php有正確的chmod嗎? (644它應該是)
  • 你有/使用緩存插件如果是這樣,可以嘗試通過重命名文件夾來禁用它。
  • 如果您有一些通過.htaccess的緩存選項,請暫時禁用它。
  • 你使用登錄插件或腳本嗎?如果是這樣,暫時禁用它。
  • 你可以檢查functions.php(在你的主題文件夾中),如果有一些代碼片段可以爲你的wp-login.php做一個重定向,如果是的話暫時禁用它。
  • 最後但並非最不重要的,如果以上所有問題仍然不能解決您的問題,您可以稍後重命名插件文件夾並嘗試登錄。 (不要忘記在之後重新命名它)
  • 我希望其中的一個將幫助您找到解決方案。