Znalazłem powód, dla którego połączenie nie działało, ponieważ połączenie próbowało połączyć się z portem 8888, kiedy musiało połączyć się z portem 8889.
$conn = new PDO("mysql:host=$servername;port=8889;dbname=AppDatabase", $username, $password);
To naprawiło problem, chociaż zmiana nazwy serwera na localhost nadal powoduje błąd.
Połączenie nie powiodło się:SQLSTATE[HY000] [2002] Brak takiego pliku lub katalogu
Ale łączy się pomyślnie, gdy adres IP zostanie wprowadzony jako nazwa serwera.