Программа не видит файл и не может подключить базу данных к проекту

Я пишу курсовой проект. У меня установлена mysql workbench и visual studio code. Проект пишется на PHP.

Я создал базу данных и подключил её к проекту через файл bd.php, но при запуске сервера на веб странице выдавалась ошибка, связанная с базой данных:

Warning: session_start(): Session cannot be started after headers have already been sent in C:\Users\Наталья\Downloads\app\app\ bd.php on line 2
Ошибка базы данных
Warning: Undefined variable $connect in C:\Users\Наталья\Downloads\app\app\ index.php on line 14

Fatal error: Uncaught Error: Call to a member function prepare() on null in C:\Users\Наталья\Downloads\app\app\ index.php:14 Stack trace: #0 {main} thrown in C:\Users\Наталья\Downloads\app\app\ index.php on line 14

Код из bd.php:

session_start();
$db_name = "library";

$login = "root";
$password = "74201245";

try{
$connect = new PDO("mysql:host=10.100.3.80;dbname= ".$db_name.";charset=utf8",$log in, $password);
$connect->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

}catch(PDOException $e){
$Log_File = "log.txt";
file_put_contents($Log_File, date("Y-m-d H:i:s")." -//- ".$e->getMessage().PHP_EOL, FILE_APPEND | LOCK_EX);
echo '<meta charset="UTF-8">Ошибка базы данных';
}

index.php line 14:

<?php
require_once 'bd.php';

$sql = $connect ->prepare("SELECT * FROM `book` JOIN author ON ([book.id](https://vk.com/away.php?to=http%3A%2F%2Fbook.id&cc_key=)_author=[author.id](https://vk.com/away.php?to=http%3A%2F%2Fauthor.id&cc_key=)_author)") ;
$sql->execute();
$arrayb = $sql->fetchAll(PDO::FETCH_ASSOC);

$sql = $connect ->prepare("SELECT * FROM `author`");
$sql->execute();
$arraya = $sql->fetchAll(PDO::FETCH_ASSOC);
?>

В файле php.ini записано так:

extension_dir = "C:\php\ext"

extension="php_pdo_mysql.dll"

Но он всё рано не видит файл php_pdo_mysql.dll, из-за чего проект не подключается к базе данных и сервер не работает как положено.

В чём проблема? Помогите, пожалуйста!

В чём проблема я не знаю, но знаю, что нужно делать. Вставляй больше команд отладочной печати.
И ты ничего не рассказал о содержимом файла log.txt.

По сообщениям мы видим, что строка " echo '<meta charset="UTF-8">Ошибка базы данных';" отработала, но не видим чему равно “$e->getMessage()”, из-за этого слова «он всё рано не видит файл php_pdo_mysql.dll» звучат неубедительно. Вдруг ошибка в чём-то другом?

Ещё советуют

Убедитесь, что расширение php_pdo.dll также включено в файле php.ini. Если оно закомментировано, раскомментируйте его или добавьте строку extension=php_pdo.dll в секцию Dynamic Extensions.

ну и перезапустить web-сервер или службу php после изменения настроек.

1 лайк