![]() |
Skulle vara jättetacksam för hjälp, för jag har kanske målat in mig i ett hörn?!
Sen tidigare har jag en Win XP-burk med IIS 4 eller 5 som testserver och på den har jag PHP 4.3.4 och MySQL 3.23.29 vilket fungerar kalasbra. Nu har jag satt upp en ny servermiljö med Windows Server 2003 Enterprise Edition. Har installerat PHP 5.1.2 vilket fungerar bra, sen har jag installerat MySQL 5.0.18 och den verkar fungera bra. Har skapat MySQL-användare som är exakt likadana som på min Win XP-burk och dessutom "rippat" en databas rakt av för att testa och se att allt fungerar som det ska, men det gör det inte :( Jag surfar in på en php-sida, det fungerar fint. När jag sen kommer till en sida som ska connecta mot MySQL-databasen så fungerar det inte. Jag har kört echo för att se var i scriptet felet kan ligga, och när mysql_connect körs slutar det att fungera. Jag får inte upp några felmeddelanden heller, därförjag kört lite echos för att se var det tar stopp. Min mysql_connect ser ut som följer: mysql_connect($server, $user, $password) or die("Ingen kontakt med databasen: " . mysql_error()); Det enda som är skillnaden mot min gamla server är ett annat IP-nummer och att MySQL inte ligger installerat under C:\mysql, utan under D:\db. Vad är det som stoppar min mysql_connect? Det lustiga är att min klient, MySQL-Front fungerar fint, jag loggar in med samma användare som när jag connectar via php, och det funkar. Jag får upp databaserna och tabellerna. Please hjälp mig! |
Tror jag har lösningen på ditt problem
Mysql bytte till en säkrare typ av lösenord runt version 4.1 Antingen kan du göra såhär http://dev.mysql.com/doc/refman/5.0/en/old-client.html eller så använder du numera mysqli istället för mysql http://se2.php.net/manual/en/ref.mysqli.php |
Jag testade att connecta mot MyAQL-databasen med ASP (Server.CreateObject("ADODB.Connection")) och det fungerar fint.
Då känns det alltså som att det är PHP (nåt i php.ini kanske?) som inte hittar min MySQL-databas. När jag kör gd_info() så spottar den iaf ut rätt sökväg till min MySQL-databas på tre ställen: Path D:\db\MySQL\MySQL Server 5.0\bin _SERVER["Path"] D:\db\MySQL\MySQL Server 5.0\bin _ENV["Path"] D:\db\MySQL\MySQL Server 5.0\bin |
Testa och anslut med mysqli_connect i php så skall du se att det funkar
|
Tack! Ska testa det, dock är jag lite osäker på vad som är skillnaden mellan vanliga och mysqli_connect.
Och det där med säkrare lösenord från version 4.1. Jag kör version 4.3.4 på den gamla versionen, plus att min nya databas på nya servern är en ren installation, inga backuper är från gamla är installerade på den nya, utan jag har bara kört lite sql-querys för att få upp tabellstrukturen för vissa databaser för att testa. Men med mysqli kanske det fungerar. Dock är jag inte helt med på hur de menar för att jag ska aktivera det. Jag installerade PHP med installer-version (CGI) som ställer in PHP helt default, eller hur man nu ska förklara :) |
Har du laddat in MySQL modulen i PHP????
|
Citat:
Sorry, jag är inte helt haj på detta... jag är ju "uppvuxen" med MsSQL och ASP :) |
Citat:
Slå på så du ser alla felutskrifter (sökord: E_ALL, error_reporting) från PHP eller kolla i felloggen. Orka gå omkring med ögonbindel och klaga på att det är mörkt. "Nu blev det kvällen. Vaffö då?" |
Jag får inga felutskrifter alls, fast jag har följande i php.ini:
error_reporting = E_ALL; display all errors, warnings and notices. Dvs jag har inget semikolon framför, så då är det ju påslaget. Hittar ingen fellogg för php, borde inte den finnas i php-mappen under C:? EDIT: som jag har förstått det så måste jag installera mysqli, men jag förstår inte installationsdirektiven: http://se2.php.net/manual/en/ref.mysqli.php |
När jag installerade PHP använde jag mig av den exekverbar installationsfilen som är så enkel o smidig, men missar då en massa extensions o sånt... kan kanske vara en idé att göra om allt med fullversionen av PHP i zipformat? fast det löser nog inte mitt problem här... dock får man nog problem med GD o sånt längre fram?!?!
|
Du ska använda ZIP filen... Eftersom du har MySQL där i ;) MySQL är inte inkompilerat i PHP längre...
Så i ZIP filen, har du MySQL extensionen... |
Citat:
|
Jag har iaf löst problemet nu... lade in filen php_mysqli.dll i php-mappen och sen lade jag till den som en extension i php.ini.
Men nu över till en annan fråga: På min gamla utvecklingsburk kör jag HP 4.3.4 och MySQL 3.23.29 och det är en kalasfin kombination. På min nya utvecklingsburk kör jag PHP 5.1.2 och MySQL 5.0.18 (vilket är den version MySQL rekommenderar, 5.1 är ju bara på alphastadiet). Nu är min fråga, den här senare kombinationen, eller iaf valet av nyaste MySQL-versionen är dumt, iom att man måste använda php_mysqli istället för php_mysql vid kontakt med databasen. Men det verkar inte vara några webbhotell som kör så pass ny version av MySQL ännu, utan de kör version 4.0.x eller ännu lägre version. Frågan är när MySQL 5.0 blir standard. För att utveckla mot 5.0 hemma och sen föra över på webhotellen som inte stödjer det är ju lite ruttet (stödjer inte mysqli ju). Hänger ni med? |
| Alla tider är GMT +2. Klockan är nu 21:06. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson