Autor Zpráva
Radim24
Profil
Zdravím mohl by mi tu někdo poradit s instlaací Wordpressu? Narazil jsem na nepříjemný problém. Mám spuštěný Apache, php a mysqld, vytvořenou databázi, jsem přihlášen k databázi wordpress (na localhost) a mám k ní přístup. RS Wordpress mi hlásí chybu.

Error establishing a database connection

Pro debug používám die(ABSPATH);

A toto je výstup:
C:\server\wordpress-27cz/

Očividně problém s lomítky a nevím jak ho odstranit.

Uvádím obsah svého konfiguráku "wp-config.php" na localhost/wordpress-27cz

define('DB_NAME', 'wordpress');
define('DB_USER', 'root');
define('DB_PASSWORD', '');
define('DB_HOST', 'localhost');
define('DB_CHARSET', 'utf8');
define('DB_COLLATE', '');
define('AUTH_KEY', '');
define('SECURE_AUTH_KEY', '');
define('LOGGED_IN_KEY', '');
define('NONCE_KEY', '');
$table_prefix  = '';
define ('WPLANG', 'cs_CZ');
if ( !defined('ABSPATH') )
	define('ABSPATH', dirname("http://localhost/wordpress-27cz") . '/');
die(ABSPATH);
tiso
Profil
Radim24 - "problém s lomítkami" nemusí mať nič spoločné s tou chybou. Prejdi si kód okolo pripojenia k databáze. Máš vôbec vytvorenú tú databázu?
Radim24
Profil
Veď som to písal. Prečitaj si to eště jednou.

"Mám spuštěný Apache, php a mysqld, vytvořenou databázi, jsem přihlášen k databázi wordpress (na localhost) a mám k ní přístup."

Spojení s databází jsem ověřoval mysql klientem. Nevidím důvod, proč by se Wordpress nemohl připojit, když to dokáže taky phpmyadmin. Nesmyslnost převrácených lomítek v ABSPATH by mohla stát za úvahu.
tiso
Profil
Radim24 - Prejdi si kód okolo pripojenia k databáze.
fandaa
Profil
Radim24
Co má ABSPATH společného s tím, že se nelze připojit k databázi?

Zkus použít slovník: Error establishing a database connection. == Chyba v navazování databázového připojení.
Radim24
Profil
EDIT:

Tak jsem došel k tomuto:

příkaz: require_wp_db();

debug: die ( WP_CONTENT_DIR . '/db.php');

výstup: C:\server\wordpress-27cz/wp-content/db.php

soubor C:\server\wordpress-27cz/wp-content/db.php neexistuje

v tom adresáři je jenom jeden soubor:
C:\server\wordpress-27cz/wp-content/index.php
a pak adresáře....
tiso
Profil
Radim24 - keď testuješ if, tak testuj aj else:
function require_wp_db() {
    global $wpdb;
    if ( file_exists( WP_CONTENT_DIR . '/db.php' ) )
        require_once( WP_CONTENT_DIR . '/db.php' );
    else
        require_once ( ABSPATH . WPINC . '/wp-db.php' );
}


Čo sa ti nepáčilo na originálnej definícii konštanty ABSPATH?
if ( !defined('ABSPATH') )
    define('ABSPATH', dirname(__FILE__) . '/');
Radim24
Profil
našel jsem @mysql_connect($dbhost, $dbuser, $dbpassword, true)
ale stejně netuším v čem může být problém

mám tam "localhost", "root", "", true

heslo tam nemám a localhost je adresár c:\server
zatímco mysql je umístěno v C:\server\SERVER_TOOLS\phptriad\mysql
tak jedině zkusit změnit cestu dbhost na localhost/SERVER_TOOLS/phptriad/mysql
což taky nikam nevede
Radim24
Profil
Tak dostal jsem se k tomuhle:

1) v souboru C:\server\wordpress-27cz\wp-config.php
@mysql_connect($dbhost, $dbuser, $dbpassword, true);
// žádné echo na výstup

2) v souboru C:\server\wordpress-27cz\wp-includes\wp-db.php
mysql_connect($dbhost, $dbuser, $dbpassword);
// na výstupu je tato hláška:
Warning: mysql_connect(): Access denied for user: 'root@localhost' (Using password: NO) in C:\server\wordpress-27cz\wp-includes\wp-db.php on line 319

3) a když to mysql_connect(); volám mimo $wpdb = new wpdb(DB_USER, DB_PASSWORD, DB_NAME, DB_HOST);
tak to žádnou chybu nenapíše.

Mám si myslet, že databázové spojení nelze uskutečnit proto, že ta fnc je uvnitř metody wpdb();? Takže som z toho volaký zmetený.
Radim24
Profil
HURÁ MÁM TO!

Při dotazu v klientovy jsem zjistil, že jméno uživatele není root, ale ODBC@localhost ... Díval jsem se předtím to PHPMyAdmina, kde u privilégií bylo několik uživatelů 1) Any 2) Root .... nevím proč tam ODBC není a nevím ani co to znamená.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: