WN

WN (https://www.wn.se/forum/index.php)
-   E-kommers (https://www.wn.se/forum/forumdisplay.php?f=10)
-   -   Paynovas plugin till Oscommerce (https://www.wn.se/forum/showthread.php?t=2729)

saflund 2004-07-07 19:00

Tjenixen.

Jag håller på med att installera Paynovas plugin på en Oscommerce-shop. Det vill inte fungerar riktigt. Jag får upp paynova i Oscommerce admindel för betalningssätt. Där fyller jag i infot jag fått från Paynova. Sedan när jag testbeställer så får jag upp Paynovaplånboken i ett nytt fönster. Jag loggar in med mitt testkonto men sedan när jag ska godkänna transaktionen får jag upp en javascript ruta som säger "transaction cancelled". Jag pratade med Paynova och dom gav mig följande fellogg:


Warning: mysql_connect(): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /SÖkVÄG/DOMÄN/catalog/includes/functions/database.php on line 19

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /SÖkVÄG/DOMÄN/catalog/includes/functions/database.php on line 44
2002 - Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

select configuration_value from configuration where configuration_key = 'MODULE_PAYMENT_PAYNOVA_SECRET'

[TEP STOP]


Shoppen fungerar för övrigt och den kommunicerar med mysql:en som ligger på en annan server. Jag funderade ett tag på om det faktum att mysqlservern liger inte på samma server som apchen kunde vara orsaken tilla tt det inte fungerar. Har ställt den frågan till Paynova precis och väntar på svar.

Någon som har några ideer?

saflund 2004-07-07 19:02

Detta är vad som finns på rad 19 i database.php:

function tep_db_connect($server = DB_SERVER, $username = DB_SERVER_USERNAME, $password = DB_SERVER_PASSWORD, $database = DB_DATABASE, $link = 'db_link') {
global $$link;

if (USE_PCONNECT == 'true') {
$$link = mysql_pconnect($server, $username, $password);
} else {
$$link = mysql_connect($server, $username, $password);
}

if ($$link) mysql_select_db($database);

return $$link;
}


Detta är vad som finns på rad 44 i database.php:

function tep_db_query($query, $link = 'db_link') {
global $$link;

if (defined('STORE_DB_TRANSACTIONS') && (STORE_DB_TRANSACTIONS == 'true')) {
error_log('QUERY ' . $query . "\n", 3, STORE_PAGE_PARSE_TIME_LOG);
}

$result = mysql_query($query, $$link) or tep_db_error($query, mysql_errno(), mysql_error());

if (defined('STORE_DB_TRANSACTIONS') && (STORE_DB_TRANSACTIONS == 'true')) {
$result_error = mysql_error();
error_log('RESULT ' . $result . ' ' . $result_error . "\n", 3, STORE_PAGE_PARSE_TIME_LOG);
}

return $result;
}

Henrik Larsson 2004-07-07 20:35

Jag har varken använt OsCommerce eller Paynova-plugin:en till det, men i vilket fall som helst...

Vad för värde har DB_SERVER? Är det en Paynova-variabel/konstant eller är den generell för OsCommerce? Enligt min mening borde det väl räcka med att ändra på den för att få det att funka.

Nu verkar ju den onekligen ha 'localhost' eller dyl. som värde eftersom felmeddelandena säger precis det du misstänker (Can't connect to local MySQL). Dvs. att problemet ligger i att MySQL-servern befinner sig på en annan server och Paynova-plugin:en försöker connecta till en MySQL på samma server som den själv körs på.

saflund 2004-07-07 22:20

Det är en generell oscommerce variabel.

Om man kollar i admindelen så är det rätt DB-info där och shoppen fungerar förutom detta, därför antar jag att oscommerce "vet om" att det är en extern databas.

saflund 2004-07-12 15:49

Någon på wn som kör oscommerce med paynova plugin på unix/linux och med Mysql:en på en annan fysisk server?

naredi 2004-07-12 18:33

Jag hade problem med en sökväg när jag installerade modulen. Dock ej samma.

Prova att ändra /tmp/mysql.sock till /dinsida/sökväg/bla/tmp/mysql.sock
Skapa mappen som heter tmp och ge skrivrättigheter till alla.

Jag har ingen aning om det fungerar men det är väl värt ett försök...

zoran 2004-07-16 09:21

Citat:

Originally posted by naredi@Jul 12 2004, 18:33
Jag hade problem med en sökväg när jag installerade modulen. Dock ej samma.

Prova att ändra /tmp/mysql.sock till /dinsida/sökväg/bla/tmp/mysql.sock
Skapa mappen som heter tmp och ge skrivrättigheter till alla.

Jag har ingen aning om det fungerar men det är väl värt ett försök...

Det kommer INTE att fungera. Man kan inte använda sig av UNIX-sockets för att koppla sig mot en annan server utan av TCP. Han måste kolla i sina konfigurationsfiler. Antigen är det felkonfat med "localhost" någonstans, men det tror jag inte eftersom hans webbshop fungerar för övrigt, eller är det något annat fel i självaste OsCommerce eller den modulen. De kanske är så att någon har definierat hårt "localhost" som server. Använd find och grep för att hitta förekomst av "localhost" i dina php-filer.

/Zoran

saflund 2004-07-19 15:33

Jag löste det!

Var tvungen att skriva in all DB info manuellt i OSCOMMERCE/catalog/includes/configure.php.

Fattar inte varför jag ska skriva in info där, Oscommerce vet ju som sagt redan om det och fungerar.

Fattar dock inte vad den där configure.php är till för.

Ja ja, det fungerar... Jippie! :D

zoran 2004-07-19 15:43

Citat:

Originally posted by saflund@Jul 19 2004, 15:33
Jag löste det!

Var tvungen att skriva in all DB info manuellt i OSCOMMERCE/catalog/includes/configure.php.

Fattar inte varför jag ska skriva in info där, Oscommerce vet ju som sagt redan om det och fungerar.

Fattar dock inte vad den där configure.php är till för.

Ja ja, det fungerar... Jippie! :D

Förmodligen designfel i självaste pluginen. Den tittar i "fel" fil eller något.

/Zoran


Alla tider är GMT +2. Klockan är nu 03:53.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson