PHP: PHP verbinden met MySQL met PDO
Deze documentatie maakt deel uit van de Verbinden met MySQL-gids. Bekijk de volledige gids hier: Leer hoe u verbinding maakt met MySQL vanuit PHP met behulp van MySQLi en PDO.
👋 Welkom bij de Stackhero-documentatie!
Stackhero biedt een kant-en-klare PHP cloud oplossing die tal van voordelen biedt, waaronder:
- Implementeer uw applicatie in seconden met een eenvoudige
git push.- Gebruik uw eigen domeinnaam en profiteer van de automatische configuratie van HTTPS-certificaten voor verbeterde beveiliging.
- Geniet van gemoedsrust met automatische back-ups, updates met één klik, en eenvoudige, transparante en voorspelbare prijzen.
- Krijg optimale prestaties en robuuste beveiliging dankzij een privé en dedicated VM.
Bespaar tijd en vereenvoudig uw leven: het kost slechts 5 minuten om de PHP cloud hosting oplossing van Stackhero te proberen!
PDO biedt een flexibele methode om PHP met MySQL te verbinden. Het onderstaande voorbeeld illustreert hoe u PDO kunt gebruiken om een verbinding tot stand te brengen. Het behandelt ook mogelijke SSL-certificaatproblemen die kunnen optreden als uw systeem geen toegang heeft tot CA-certificaten.
<?php
$hostname = '<XXXXXX>.stackhero-network.com';
$user = 'root';
$password = '<yourPassword>';
$database = 'root'; // Voor productieomgevingen, overweeg om een speciale database en gebruiker aan te maken
$dsn = "mysql:host=$hostname;dbname=$database";
$options = array(
// Als u een fout tegenkomt zoals "Uncaught PDOException: PDO::__construct(): SSL operation failed with code 1...",
// kan het zijn dat de /etc/ssl/certs/ directory geen CA-certificaten bevat
PDO::MYSQL_ATTR_SSL_CAPATH => '/etc/ssl/certs/',
// PDO::MYSQL_ATTR_SSL_CA => 'isrgrootx1.pem',
PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT => true,
);
$pdo = new PDO($dsn, $user, $password, $options);
$stm = $pdo->query('SELECT VERSION()');
$version = $stm->fetch();
echo 'U bent verbonden met een database die versie ' . $version[0] . "\n";
?>
Omgaan met de fout "SSL operation failed with code 1"
Als u een fout ziet zoals Uncaught PDOException: PDO::__construct(): SSL operation failed with code 1. OpenSSL Error messages: error:0A000086:SSL routines::certificate verify failed, is het waarschijnlijk dat de /etc/ssl/certs/ directory van uw systeem niet de benodigde CA-certificaten bevat.
Als u toegang heeft tot het systeem dat uw PHP-code uitvoert, kunt u de certificaten als volgt installeren:
- Op Ubuntu/Debian, voer
sudo apt-get install ca-certificatesuit - Op Alpine Linux, voer
apk add ca-certificatesuit
Als u geen directe toegang heeft om deze certificaten op uw systeem te installeren, kunt u het certificaat handmatig installeren:
- Download het certificaat naar uw computer: https://letsencrypt.org/certs/isrgrootx1.pem
- Voeg het
isrgrootx1.pembestand toe aan uw PHP-projectbestanden. - Comment de regel
PDO::MYSQL_ATTR_SSL_CAPATH => '/etc/ssl/certs/'uit - Uncomment de regel
PDO::MYSQL_ATTR_SSL_CA => 'isrgrootx1.pem'