В двух словах это работает:
<?PHP
include 'cal_config.php';
$dbms = 'mysql';
$dsn = "$dbms:host=$_dbIp;dbname=$_dbDbase";
$cn=new PDO($dsn, $_dbUte, $_dbPass);
$cn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$query = $cn->prepare("SELECT * FROM notifiche");
$query->execute();
$res = $query->fetchAll();
print_r($res);
?>
Приведенное выше соединение PDO работает, но с использованием mysqli:
<?PHP
$core = mysqli_connect($_dbIp,$_dbUte,$_dbPass,$_dbDbase) or die("Error: ".mysqli_error());
?>
умирает с «Соединение отказано».
Может кто-нибудь объяснить мне, почему? заранее спасибо
РЕДАКТИРОВАТЬ: РЕШЕНО
Мой плохой, старый сервер apache находился за пределами моей новой локальной сети, и каждый скрипт php, содержащий запрос mysqli, указывал на публичный ip-адрес моей сети. Новый сервер apache находится в моей новой локальной сети, но старые сценарии указывали на публичный IP-адрес сервера MySQL, а не на новый локальный адрес. Я надеюсь, вы понимаете, что я имею в виду:
старый сервер apache вне локальной сети ——> публичный IP-адрес сервера mysql внутри локальной сети за работой
новый сервер apache внутри локальной сети ——-> локальный IP-адрес сервера mysql внутри локальной сети за работой (ошибка была в том, что я использовал публичный IP-адрес сервера MySQL, даже если оба сервера были локальными)
Надеюсь это понятно
Задача ещё не решена.
Других решений пока нет …