Auteur Topic: PHP en MariaDB10...  (gelezen 2147 keer)

Offline beste-els

  • Bedankjes
  • -Gegeven: 24
  • -Ontvangen: 11
  • Berichten: 148
PHP en MariaDB10...
« Gepost op: 08 juli 2021, 12:36:48 »
Mijn PHP scripts (versie 7.4) werken al enkele jaren met de database van MariaDB5 op mijn NAS. Loopt als een trein.
Met het oog op de naderende update van DSM 6 naar 7 probeer ik mijn PHP scripts te laten praten met MariaDB10. Dat valt niet mee! Nadat ik MariaDB10 had geinstalleerd en MariaDB5 verwijderd probeerde ik het een en ander uit.

Werkt natuurlijk voor geen meter! Het probleem spitst zich toe op de connectie naar de database. Voorheen bestond die connectie uit:  $dbhost = 'localhost'; (simpeler kan niet!). Nu wil het alleen werken met  $dbhost = '192.168.1.109:3307'; Ik moet dus expliciet het IP address van mijn NAS aangeven plus het poortnummer.

Ben ik misschien ergens een special setting vergeten tijdens of na het installeren van MariaDB10?
Synology: DS920+
Storage: 4 X 4TB SEAGATE Ironwolf (RAID: SHR)
SSD Cache: 1TB Samsung SSD 970 EVO Plus
Physical memory: 20GB (4GB standaard + 16GB Crucial DDR4-2666 laptopmemory)
DSM version: DSM 7.2.2-72806 Update 1


Synology: DS213+
Storage: 2 X 2TB WD WD20earx (JBOD)
Physical memory: 512MB
DSM version: DSM 6.2.4-25556 Update 7

Offline Wyodor

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 1
  • -Ontvangen: 156
  • Berichten: 766
Re: PHP en MariaDB10...
« Reactie #1 Gepost op: 08 juli 2021, 12:44:49 »
Beter is : $dbhost = '127.0.0.1:3307’

En nee, je bent geen instelling vergeten.
Gewoon accepteren dat het zo moet.

En als je het config bestand op een centrale plek opslaat, hoef je het alleen met een include() te laden.
  • Mijn Synology: DS720+
  • HDD's: 2 x ST4000VN008

Offline Wyodor

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 1
  • -Ontvangen: 156
  • Berichten: 766
Re: PHP en MariaDB10...
« Reactie #2 Gepost op: 08 juli 2021, 13:01:54 »
Zo los ik het op voor het geval je meerdere databases gebruikt.

Het bestand connectNoDB.php bevat deze code (zonder databasenaam) :

<?php
$SQL_host     
'127.0.0.1:3307';
$SQL_user     'username';
$SQL_password 'password';

$db = new MySQLi$SQL_host$SQL_user$SQL_password );
$db->set_charset("utf8mb4");
$db->query("SET NAMES utf8mb4 COLLATE utf8mb4_general_ci");

// Check for errors
$db_result TRUE;

if ( 
$db->connect_error )
{
$db_result FALSE;
$db_msg '<p>Connect failed: (' $db->connect_errno ') ' .  $db->connect_error '</p>';
}
?>

Dit bestand sla je centraal op.

Vervolgens gebruik je dit in een PHP bestand :

<?php
include('/pad/naar/connectNoDB.php');
if ( 
$db_result === TRUE )
{
$dbase 'sylvester';
$db->select_db$dbase );
// enzovoort
}
// enzovoort
?>
  • Mijn Synology: DS720+
  • HDD's: 2 x ST4000VN008

Offline Briolet

  • Global Moderator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 180
  • -Ontvangen: 2669
  • Berichten: 16.551
Re: PHP en MariaDB10...
« Reactie #3 Gepost op: 08 juli 2021, 13:03:30 »
In elk hosts bestand staat dat 'localhost' naar 127.0.0.1 en naar  ::1  moet resolven. Het lijkt er op dat deze Maria versie een url zonder toplevel domein gewoon niet probeert op te zoeken.
  • Mijn Synology: DS415+
  • HDD's: 3x 3TB in SHR
  • Extra's: DS212J, RT1900ac

Offline beste-els

  • Bedankjes
  • -Gegeven: 24
  • -Ontvangen: 11
  • Berichten: 148
Re: PHP en MariaDB10...
« Reactie #4 Gepost op: 08 juli 2021, 13:37:51 »
Beste Wyodor,

dank voor je antwoord. Ik heb een testje gedaan met hostname=127.0.0.1:3307 en dat loopt ook; het maakt het nog net iets eenvoudiger, vooral met porten.

Ik werk altijd al met een include file waarin zich het script bevindt voor de connectie naar de database. Dat is verreweg het eenvoudigste, zeker voor het onderhoud. Dat dit de default parameters zijn voor MariaDB10 wist ik niet.

Dank allen voor de moeite.
Synology: DS920+
Storage: 4 X 4TB SEAGATE Ironwolf (RAID: SHR)
SSD Cache: 1TB Samsung SSD 970 EVO Plus
Physical memory: 20GB (4GB standaard + 16GB Crucial DDR4-2666 laptopmemory)
DSM version: DSM 7.2.2-72806 Update 1


Synology: DS213+
Storage: 2 X 2TB WD WD20earx (JBOD)
Physical memory: 512MB
DSM version: DSM 6.2.4-25556 Update 7


 

Fatal error: Call to undefined function mysql_query() MariaDB10

Gestart door PieterMBoard Maria DB

Reacties: 26
Gelezen: 12463
Laatste bericht 22 februari 2018, 10:55:20
door PieterM
MariaDB10 moet niet luisteren naar poort 3307 maar naar poort 3306

Gestart door beste-elsBoard Maria DB

Reacties: 2
Gelezen: 1460
Laatste bericht 14 mei 2023, 18:42:26
door beste-els
Upgrade mariadb5 naar mariadb10 - workaround/procedure

Gestart door langebroeckBoard Maria DB

Reacties: 0
Gelezen: 2959
Laatste bericht 12 januari 2020, 18:46:38
door langebroeck
MariaDB10 reset password

Gestart door WibekBoard Maria DB

Reacties: 5
Gelezen: 877
Laatste bericht 10 januari 2024, 13:36:53
door Birdy
risicoloos van mariadb5 naar mariadb10, kan dat?

Gestart door reinduBoard Maria DB

Reacties: 8
Gelezen: 5489
Laatste bericht 05 januari 2019, 22:27:28
door reindu