Synology-Forum.nl
Overige software => Web Station => Topic gestart door: Jojoseph op 15 juli 2019, 22:19:44
-
Beste forumleden,
Na diverse websites geraadpleegd te hebben, post ik dan toch maar mijn vraag op dit forum.
Wat is het probleem?
De verbinding met mysql via PDO wordt niet tot stand gebracht. Ik krijg de melding: 'could not find driver'
Ik heb gecheckt of mysql geïnstalleerd is op mijn Synology. Dat is inderdaad het geval. Ik kan via de CLI diverse maria10db databases benaderen. Echter via dit php script lukt het niet:
<?php
$dsn = "mysql:host=localhost;dbname=xxxxx;charset=utf8";
$username = "root";
$pass = "xxxxxx"
$db = new PDO($dsn, $username, $pass);
?>
Geinstalleerd: Apache 2.2, PHP7.2, MariaDB10
Ik heb ook in PHPSettings.json (/usr/syno/etc/packages/WebStation) de extension pdo_mysql veranderd in pro_mysql.so zie ook: (https://community.synology.com/enu/forum/17/post/93981)
Maar ook deze wijziging heeft het probleem niet opgelost...
Wie heeft een idee hoe dit probleem op te lossen?
-
Eureka! :)
Ik heb de oplossing hier gevonden: pagina (http://blog.filerun.com/how-to-install-filerun-on-synology-dsm-nas-using-web-station/)
Verderop deze pagina staat een alinea over trouble shooting MYSQL connections. Daar bleek dat ik het pad naar PDO moest veranderen. Omdat ik Mariadb10 gebruik, werd het pad voor mij: /run/mysqld/mysqld10.sock.
Zoals zo vaak: een klein regeltje veranderen maar het kost je wel heel veel tijd.....
-
Het is vrij simpel.
Bij de instellingen wat vinkjes zetten.
Vervolgens in PHP de volgende verbinding gebruiken.
<?php
$db = new PDO('mysql:host=127.0.0.1;dbname=databasenaam;port=3307;charset=utf8mb4', 'username', 'password');
?>