FireStats error : FireStats: Unknown commit strategy Skip to content

Google!

Archive

Category: Linux vs Windows

Jag fick en riktig utmaning när jag försökte återskapa en gammal websida på nytt, som skulle baseras på PHP och en IIS-anslutning. Servern var i princip identisk med den gamla som kördes på en Windows 2003-maskin, så när som på en liten detalj: På den gamla servern accepterade SQL-servern anrop via mssql_connect. På den nya servern vägrade den detta, av hittills totalt okänd anledning. Det här gjorde mig naturligtvis upprörd, eftersom jag mer eller mindre började känna av en egen deadline komma närmare. Problemet har gäckat mig i flera veckor och basen har sedan sist varit MSSQL Express 2005, som ju fungerade perfekt.

Häromdagen fick jag ett samtal. Flera databaser hade nu flyttats över till den nya webservern och med viss stolthet förklarades att ASP-anropen minsann fungerade klockrent. Inga problem, osv. Det gjorde mig ännu mer frustrerad, varför vägrar plötsligt MSSQL att ta emot samtal från PHP? Den som det visste. ASP-anropen inspirerade mig dock. Detta kanske kunde användas på något bra sätt genom PHP-koden. Och visst är det så, som alltid! Så jag började bygga upp nya anrop som baserades på den ”nya” lösningen, med NO-DSN. För säkerhetsskull lät jag dock det gamla stödet finnas kvar!

if (!$this->ado)
{
	if (!$port)
	{
		$this->tdb = mssql_connect($server, $user, $pass) or $fail = true;
	}
	else
	{
		$this->tdb = mssql_connect("$server:$port", $user, $pass) or $fail = true;
	}
}
// Fallback!
if ($fail || $this->ado)
{
	$conn = new COM ("ADODB.Connection") or die("Cannot start ADO");
	$this->tdb->conn = $conn;		// Fake this
		/* We don't want to use the integrated stuff here, so skip it. */
	//Integrated Security=SSPI;
	$connStr = "Provider=SQLOLEDB.1;UID=" . $user . ";PWD=" . $pass . ";Persist Security Info=False;DATABASE=X;Initial Catalog=X;SERVER=X;Data Source=X";
	$this->tdb->conn->open($connStr); //Open the connection to the database
}

Den här lilla lösningen kräver förstås att man gör ytterligare modifikationer i query-anropen, eftersom de skiljer sig en aning åt, trots att det är samma plattform vi pratar med. Eftersom vi dessutom vill ha ut alla frågor som en array i formatet $array[columnname] = $value, så får speciella funktionsanrop ta hand om utdatat.

// Query
$tSQL = $this->tdb->conn->execute($query);
$returnthis = $this->fetch($tSQL);
[...]
// Funktion
if (!$this->tdb->conn)
{
	return mssql_fetch_array($Array);
}
else
{
	// More data to get?
	if (!$Array->EOF)
	{
		$num_columns = $Array->Fields->Count();
		for ($i=0; $i < $num_columns; $i++)
		{
			$nme = $Array->Fields($i)->name;
			$fld[$nme] = $Array->Fields($i)->value;
		}
		// Movenext should be here, not in the programmers area.
		$Array->MoveNext();
	}
	return $fld;
}

Och därmed, så har vi piskat upp Microsofts bedrövligt självinkompatibla system IGEN! Troligtvis kommer jag inom kort för TorneEngines räkning se till att källkoden ovan inkluderas för att stödja både PHP-mssql-built-in-calls, PHP-mssql-odbc, PHP-mssql-ado-nodsn samt faktiskt även PHP-db2-odbc ala Movex-språk. The more the better…


Läs även andra bloggares åsikter om , , , , , , ,

Att installera KDE 4.2 på Slackware har visat vara riktigt jobbigt. Förmodligen är det samma sak för många andra distributioner också, då KDE 4 uppenbarligen inte släpper kompletta paket med vad som behövs för att kompileringen skall gå igenom. Visst, förståeligt på något vis är det väl, eftersom en del tillägg egentligen inte har med KDE att göra. Det som är irriterande är just att de ibland inte ens med i en komplett distribution, även om en del av dom går att återfinna på repository-sidor. Likaså går det säkert att lösa med apt-get, men jag har sett att det finns många som inte rekommenderar att gå den vägen heller. Smidigt!

Sedan 1-2 veckor tillbaka beslöt jag mig för att switcha och köra Linux på ”heltid”. Visserligen dök en hårddisk på vägen genom installationen som på grund av alla ”oförutsedda händelser”, så det tog en vecka extra innan jag var helt igång. Jag har alltid varit den stora skeptikern när det gäller att köra Linux Raw, detta efter att ha erfarit lite äldre varianter av slackware där det mesta har varit vansinne att försöka få igång. Men trots allt, så har Slackware varit det OS som jag fått i princip allt att fungera i, efter olika nivåer av kämpande.

Så nu kör jag det. Slackware 12.2, KDE 3.5 och det är väldigt intressant kan jag säga. Saker fungerar och nästan allt som sitter i burken finner sig själva och installeras helt utan behovet av att installera drivrutiner. Det var bara Radeon som praktiskt taget vägrade att installeras ordentligt, men onekligen kom det också igång helt plötsligt. I alla fall delvis, för jag har ännu inte haft något att testa med som använder grafikkortet fullt ut. Men vad gör väl det? Jag klarar mig. Än så länge. Nu har jag även fått igång Wine rätt skapligt, den lämpligaste lösningen på detta var att kopiera in hela XP-installationens System32 i Wine’s arbetskatalog och vips så fungerade saker som inte fungerade tidigare. Det är bara en del av .NET som saknas, som inte vill låta sig köras.

Ännu roligare blir det förstås när jag igår fick igång läsning av RAW-bilder från kameran. Formatet CR2 är tydligen lite udda och tidigare, i XP, har jag tvingats installera ett stort paket från Canon med applikationer som fixar det där. Det behövde jag förstås inte i Linux. Där räckte dcraw och ett gäng andra små tillägg som till skillnad från Canon var sjukt lätt att hitta (och för den delen till skillnad från allt annat i Linux, för hittar man relativt nya saker som skall ”lagas” så funkar inte ens google (Läs: Radeon)).

Jag skall erkänna att jag blivit väldigt imponerad så här långt och jag känner i dagsläget att det är allt för tidigt att återigen byta tillbaka till Windows. Och jag menar, jag har ju fortfarande tillgång till det behöver. Och har jag inte det, så finns det faktiskt open-source-grejer som är fullt tillräckliga för mina behov. Vilket också är imponerande, då jag inte alltid är flexibel nog att bryta mot invanda mönster. Så här långt är jag, hör och hämta, väldigt nöjd.

Jag är inte riktigt van ännu, men med tanke på att Wine fungerar – och gör nytta – så är jag på god väg att ge det här operativet en chans. Äntligen. Nu skall jag bara få det ¤%&”#/() Catalyst att fungera.

Och hur gör man det?

Tjaaaa, man sätter sig och gör allt manuellt. In i kerneln och kompilera…

Visst, det är inte windows – som gör allt jobb åt mig – men … Windows är ju bara intressant applikationsmässigt. Mycket meck lär det väl bli för att få skiten att fungera, men det är på rätt väg än så länge.

Dunder – Catalyst, har du försökt få det att funka? Eller Ubuntu-liknande OS löser såna problem också?

Jag har länge känt att jag varit helt fastlåst av Microsofts operativsystem och det har delvis stört mig lite grand. Inte minst för att jag varit stor vän av Linux. Jag försökte en gång i tiden anpassa mig helt efter Linux, men jag insåg fort att det aldrig skulle fungera, eftersom mjukvarumarknaden har sina begränsningar där. Jag hade föreställt mig en enkel migrering till Linux med fri mjukvara som kunde köra Windows-applikationer i Linux. Men tji fick man. Operativsystemen fungerade inte alls särskilt bra och det var stora problem med långsamhet, hackigt ljud och ingen som helst möjlighet att se på film.



Nyligen upptäckte jag dock av en slump att VMware hade utvecklats bra mycket mer än sist jag använde det. Jag började testa det på jobbet när Vista brände ihop och slutade fungera efter att en diskscan varnat mig för problem med hårddisken. Med vmware och vmware tools började jag köra XP på en slackware-dist. Det gick över förväntan även om det till en början kändes knackigt och långsamt. Jag vågade inte göra så mycket med installationen just då, men det som glatt överraskade mig var att det faktiskt, till skillnad från tidigare, gick att göra något vettigt för en gång skull.


Så nu har jag kommit till en punkt då jag tänkte ge det hela en ny chans.


Jag har därför köpt en lagom stor hårddisk, jag räknar med att en 500GB sata-disk bör räcka och jag skall snart (dvs, så fort jag orkar ta mig upp ur sängen och leta upp installationsskivor) börja installera igen. Jag tänkte också passa på att dokumentera lite av förloppet; många diskuterar i forum om detta och hur de får allt att fungera, så varför inte jag också? Men, för min egen del, en mer komplett dokumentation kring projektet att samköra Linux och Windows på en och samma gång.



Specifikation och dylikt coming soon!
Som den extremgeek man är så MÅSTE ju detta helt klart uppmärksammas. :lol:

http://www.idg.se/2.1085/1.210172/la…for-1234567890

FireStats icon Använder FireStats