У меня есть учетная запись посредника на общем хостинге Plesk, но нет доступа root. У меня есть сайт и поддомен с базой данных, но у меня не было возможности написать код, который его связывает. Недавно мне нужно было переместить сайт и базу данных в свою собственную подписку Plesk, что потребовало добавления библиотек GitHub обратно и запуска composer через Plesk.
FF на сегодняшний день, и я пытаюсь подключиться к базе данных , Я могу получить это через SqlYog, но не через pdo - я получу ошибки аутентификации. Я добавил mysqli, та же проблема.
Я добавил новую базу данных и нового пользователя, чтобы проверить, была ли проблема в перемещении. Теперь все, что я получаю, это 500 ошибок. В журналы ошибок ничего не записывается.
MySql 5.5 PHP 7.2
Это проблема Plesk или я могу что-то исправить?
Вот мой код
<?php
error_reporting(E_ALL);
ini_set('display_errors', 'On');
$set = 2;
$method = 1;
$host = 'localhost';
$charset = 'utf8mb4';
if ($set === 1) {
$db = 'PermaDb';
$user = 'permaname';
$pass = '123456'; // proper password but not special chars
} else {
$db = 'TestDb';
$user = 'testname';
$pass = '654321';
}
if ($method === 1) {
$dsn = "mysql:host=$host;dbname=$db;charset=$charset";
//$dsn = "mysql:host=$host;dbname=$db;";
$options = [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false
];
try {
$pdo = new PDO($dsn, $user, $pass, $options);
} catch (\PDOException $e) {
echo '<li>' . $e->getMessage();
echo '<li>' . $e->getCode();
}
} else {
$mysqli = new mysqli($host, $user, $pass, $db);
if ($mysqli->connect_errno) {
echo "<li>Mysqli: Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
} else {
echo '<li>Mysqli: Connected';
}
echo '<li>' . $mysqli->host_info . "\n";
}