Nette na Wedosu – error 500 – PDOException #2002 Can't connect to local MySQL server
- SvvimX
- Člen | 65
Ahoj,
funkční web z localhostu jsem hodil na wedos a dostal sem error 500. Po
chvíli hledání sem našel tuto chybu v logu:
[2012–04–16 13–29–24] PDOException: SQLSTATE[HY000] [2002] Can't connect
to local MySQL server through socket ‚/tmp/mysql.sock‘ (2) in
/data/web/virtuals/21318/virtual/libs/Nette/Database/Connection.php:53 @ http://form-info.eu/ @@
exception-2012–04–16–13–28–54-d1c2ae93892eefc5733d1647a1fb8958.html
případně exception který to zalogovalo je zde: http://form-info.eu/exception.html
kontroloval jsem několikrát config.neon kde mám údaje pro připojení a jsou správně. Když se přihlásím přes https://pma.wedos.net/ tak mi vše funguje.
Oproti localhostu je db host wm2.wedos.net jedinou možnou chybu vidím
v tomto, stačí v configu mít:
database:
driver: mysql
host: wm2.wedos.net
dbname: d21318_main
user: a21318_main
password: ******
? Nebo jak získat nějaký jiný error log než jen cant connect?
Díky moc za radu
edit: requirements checker prošel naplno, jen cache nemám
Editoval SvvimX (16. 4. 2012 13:39)
- ricco24
- Člen | 141
Podľa chybovej hlášky asi bude treaba nastaviť v configu socket na ktorom beží mysql na hostingu. Predpokladám že to budú mať uvedené v hosting admine.
Napr. na ws hosting vyzerá konfigurácia takto
database:
driver: mysql
socket: /tmp/mysql50.sock
host: localhost
database: xxx
username: xxx
password: xxx
profiler: TRUE
charset: utf8
Editoval ricco24 (16. 4. 2012 14:11)
- nanuqcz
- Člen | 822
Ahoj, podle výstupu z laděnky, který si nám dal, máš connection string takovýto:
"mysql:host=localhost;dbname=form-info.eu" (40)
Takže chyba bude tipuju někde v config.neon, kde vytváříš service
database
(ten „localhost“ tam nemá co dělat). Hoď se pls
celý tvůj config.neon (hesla vy-Xuj)
Editoval nanuqcz (16. 4. 2012 15:07)
- SvvimX
- Člen | 65
nanuqcz napsal(a):
Ahoj, podle výstupu z laděnky, který si nám dal, máš connection string takovýto:
"mysql:host=localhost;dbname=form-info.eu" (40)
Takže chyba bude tipuju někde v config.neon, kde vytváříš service
database
(ten „localhost“ tam nemá co dělat). Hoď se pls celý tvůj config.neon (hesla vy-Xuj)
Ajo, máš pravdu, dokonce tam je username root a databáze form-info.eu což jsou údaje z localhostu. To je divné.
config.neon
<?php
#
# 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:
lang: cs
database:
driver: mysql
host: wm2.wedos.net
dbname: d21318_main
user: a21318_main
password: ********
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: %database.user%
password: %database.password%
services:
database: @Nette\Database\Connection
authenticator: CUserAuthenticator()
translator:
factory: NetteTranslator\Gettext::getTranslator
setup:
- addFile(%appDir%/lang, front)
- NetteTranslator\Panel::register
factories:
production < common:
development < common:
?>
koukal jsem, jestli sem nedal nějakou exceptionu, která se stala se jiným config.neonem, tak jsem nahrál na stejnou adresu http://form-info.eu/exception.html tu, která se určitě vygenerovala s tímdle configem ale je uplně stejná. Furt se tam dostávají staré údaje..?