Это не о 'localhost'. И версия командной строки 'mysql', и сценарий, который я написал в Perl (используя perl -DBD- MySQL), могут войти в систему, получить доступ к этой базе данных и работать с ней. Только PHP дает ошибку «Отказано в разрешении», и эта ошибка не сообщается ни в одном из различных файлов журнала. Я даже дошел до создания простого тестового пользователя в базе данных, чтобы избежать проблем со специальными символами в пароле:
создать пользователя 'web' @ '%', идентифицированного как 'Iamnotarobot';
и снова командная строка может войти в систему с этими учетными данными, но PHP говорит, что разрешение отклонено.
Я не знаю, что вызывает ошибку, поэтому я не могу ее исправить. Я буквально потерян. Соответствующая информация: RHEL 8 = 4.18.0 php 7.2.11 nginx 1.14.1
А вот фактический код, который не работает:
<?php
$host="core";
$user="web";
$pass="Iamnotarobot";
$db="mydb";
$conn = new mysqli($host,$user,$pass,$db);
if( $conn->connect_errno ) {
exit($conn->connect_errno);
}
?>