Microsoft SQL Server i.c.m. Xammp Webserver (php)

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • Jboy1991
  • Registratie: September 2012
  • Laatst online: 16-09 16:44
Beste Tweakers,

Ik vind het een beetje lastig om te bedenken waar ik het beste deze vraag kan stellen. Hopelijk heb ik hier een goede keuze gemaakt.

Ik heb op dit moment een VM draaien en op deze VM zit Windows Server 2022 (domaincontroller) met Microsoft SQL en ik gebruik XAMMP (APACHE) als webserver.

Nu wil ik een connectie opzetten tussen PHP en SQL, maar ik krijg hierbij steeds de volgende foutmelding:
": Uncaught mysqli_sql_exception: No connection could be made because the target machine actively refused it"

Nu heb ik een aantal dagen al zitten googlen op dit probleem. De éne site geeft aan dat dit een driver issue is tussen XAMMP en Microsoft SQL. De ander zegt weer een firewall probleem of een port probleem.

Nu heb ik het volgende geprobeerd
- Drivers toegevoegd aan de ETC map in de php file van Xammp. Deze drivers ook toegevoegd aan de config file en Xammp herstart
- Firewall uitgeschakeld
- Ander port nummer opgegeven (1433)

Helaas lost dit het probleem niet op en lukt het mij maar niet om te connecten naar de SQL server.

De reden waarom ik voor deze opzet heb gekozen en niet gebruik maak van de XAMMP SQL, heeft ermee te maken dat ik een testomgeving heb opgezet en deze zo dicht mogelijk bij de opzet wil hebben zoals mijn werkgever (ja mijn werkgever heeft alles gescheiden op verschillende servers, maar dat vond ik niet nodig voor mijn VM-testopstelling), en nee mijn werkgever gebruikt geen XAMMP


Mijn vraag is nu:
Hoe kan ik php laten connecten naar de SQL server, beide draaien op dezelfde VM.


code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
//config pagina

$db_username = "****";
$db_userpass = "***";
$db_database = "****";
$db_server = "127.0.0.1";

$logintimeout = 300; //seconden -> Zijn het aantal secondes wanneer een sessie verloopt.

// Create connection
$conn = new mysqli($db_server, $db_username, $db_userpass, $db_database);

// Check connection
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}
?>

Beste antwoord (via Jboy1991 op 06-11-2023 11:37)


  • Equator
  • Registratie: April 2001
  • Laatst online: 09-09 15:29

Equator

Crew Council

#whisky #barista

Nou ben ik best roestig met PHP, maar mysqli is niet bedoeld om aan een MS SQL server te connecten. Daarvoor gebruik je sqlsrv_connect (zie: https://www.php.net/manual/en/function.sqlsrv-connect.php)

Alle reacties


Acties:
  • 0 Henk 'm!

  • PolarBear
  • Registratie: Februari 2001
  • Niet online
Welke versie van SQL server gebruik je? Wellicht staat TCP uit. https://learn.microsoft.c...ion?view=sql-server-ver16

Acties:
  • Beste antwoord
  • +2 Henk 'm!

  • Equator
  • Registratie: April 2001
  • Laatst online: 09-09 15:29

Equator

Crew Council

#whisky #barista

Nou ben ik best roestig met PHP, maar mysqli is niet bedoeld om aan een MS SQL server te connecten. Daarvoor gebruik je sqlsrv_connect (zie: https://www.php.net/manual/en/function.sqlsrv-connect.php)

Acties:
  • 0 Henk 'm!

  • Jboy1991
  • Registratie: September 2012
  • Laatst online: 16-09 16:44
Equator schreef op maandag 6 november 2023 @ 11:09:
Nou ben ik best roestig met PHP, maar mysqli is niet bedoeld om aan een MS SQL server te connecten. Daarvoor gebruik je sqlsrv_connect (zie: https://www.php.net/manual/en/function.sqlsrv-connect.php)
Dit was het probleem dus. Spijtig dat ik nu mn query's etc ook moet ombouwen. Had gehoopt dat SQL, SQL was ongeacht de drivers.

Bedankt!