Zdvojení uživatelského jména k DB
- kedrigern
- Člen | 102
Zdravím,
v Nette 2.0.3-PHP5.3 chci vypsat tabulku z DB. V config.neon mám:
common:parameters:
database:
driver: mysql
host: localhost
dbname: nette
user: nette
password: nette
Odsazený správně (tabulátory). (jak se vkládá se zachováním tabulátorů sem na forum?) Jméno a heslo je skutečné (jen testuji). Zbytek stránky funguje a když zadám stránku, kde se má vypsat tabulka, tak mi to hodí Laďenku:
PDOException #1045SQLSTATE[28000] [1045] Access denied for user 'nette nette'@'localhost' (using password: YES)
A i na Call Stacku již u libs/Nette/Database/Connection.php:53 PDO→
__construct vidím:
$username „nette nette“ (11)
$passwd „nette nette“ (11)
Čili z nějakého důvodu jsou DB předávány „zdvojené“ údaje. Upřímně si vůbec neumím představit proč. Nějaké rady?
Editoval kedrigern (19. 5. 2012 20:00)
- kedrigern
- Člen | 102
config/config.neon:
#
# SECURITY WARNING: it is CRITICAL that this file & directory are NOT accessible directly via a web browser!
#
# If you don't protect this directory from direct web access, anybody will be able to see your passwords.
# https://nette.org/en/security-warning
#
common:
parameters:
database:
driver: mysql
host: localhost
dbname: nette
user: nette
password: nette
php:
date.timezone: Europe/Prague
# session.save_path: "%tempDir%/sessions"
# zlib.output_compression: yes
nette:
session:
expiration: '+ 14 days'
database:
default:
dsn: '%database.driver%:host=%database.host%;dbname=%database.dbname%'
user: nette %database.user%
password: nette %database.password%
services:
database: @Nette\Database\Connection
authenticator: Authenticator( @database::table(users) )
factories:
users : User
post : Post
category : Category
production < common:
development < common:
models/User.php
<?php
use Nette\Database\Connection,
Nette\Database\Table\Selection;
class User extends Selection
{
public function __construct(Connection $connection)
{
parent::__construct("users", $connection);
}
}
models/Post.php
<?php
use Nette\Database\Connection,
Nette\Database\Table\Selection;
class Post extends Selection
{
public function __construct(\Nette\Database\Connection $connection)
{
parent::__construct("post", $connection);
}
}
models/Category.php
<?php
use Nette\Database\Connection,
Nette\Database\Table\Selection;
class Category extends Selection
{
public function __construct(\Nette\Database\Connection $connection)
{
parent::__construct("category", $connection);
}
}
DB se jmenuje nette , tabulky: category , post , users (MySQL, InnoDB), adminer s tím normálně funguje. Z cmd vše také vypadá dobře. Nicméně na MySQL či Apache nejsem nějaký znalec. Toto však je velmi pravděpodobně v Nette (leda, že by bylo chybně něco v PHP?).
Model a použití jsem opsal z quickstartu (asi je to vidět :) ).
$: mysql --version
mysql Ver 14.14 Distrib 5.5.22, for debian-linux-gnu (x86_64) using readline 6.2
$: apache2 -v
Server version: Apache/2.2.22 (Ubuntu)
Server built: Feb 13 2012 01:51:50
$: php -v
PHP 5.3.10-1ubuntu3.1 with Suhosin-Patch (cli) (built: May 4 2012 02:20:36)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies
$: lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 12.04 LTS
Release: 12.04
Codename: precise
Editoval kedrigern (19. 5. 2012 21:17)