Локально под Windows 10 установил Apache 2.4, PHP8.3.6, MySQL 8. Законектился к MySQL с помощью SQLYog. Создал базу. Залил дамп. Запустил локально php-проект. Получил: Fatal error: Uncaught Error: Call to undefined function mysqli_connect(). phpinfo() выдаёт строку API Extensions - пустую. А должна показывать: mysqli,pdo_mysql В php.ini раскоментарил строки: extension=mysqli extension=pdo_mysql phpinfo() показывает правильный (действительный) путь: C:/Server/bin/php/php.ini. В папке C:/Server/bin/php/ext находится php_mysqli.dll В httpd.conf добавил строки PHPIniDir "C:/Server/bin/php" AddHandler application/x-httpd-php .php LoadModule php_module "C:/Server/bin/php/php8apache2_4.dll" Не могу понять, что сделал не так?
extension_dir (он относительно запускаемого php) смотри и понимай, есть ли по пути dll-ки + логи php/apache смотри, либо dll-ек нет, либо они почему-то несовместимы с версией php.
PHP Warning: PHP Startup: Unable to load dynamic library 'mysqli' (tried: C:\\php\\ext\\mysqli (\xcd\xe5 \xed\xe0\xe9\xe4\xe5\xed \xf3\xea\xe0\xe7\xe0\xed\xed\xfb\xe9 \xec\xee\xe4\xf3\xeb\xfc), C:\\php\\ext\\php_mysqli.dll (\xcd\xe5 \xed\xe0\xe9\xe4\xe5\xed \xf3\xea\xe0\xe7\xe0\xed\xed\xfb\xe9 \xec\xee\xe4\xf3\xeb\xfc)) in Unknown on line 0 - это в логе apache. Путь здесь C:\\php\\ext\\ а у меня физически c:\Server\Bin\Php\ext\ - наверно здесь собака зарыта. Странно это. В httpd.conf прописан другой путь: LoadModule php_module "c:/Server/bin/php/php8apache2_4.dll" <FilesMatch \.php$> SetHandler application/x-httpd-php </FilesMatch> # configure the path to php.ini PHPIniDir "C:/Server/bin/php"
Перенёс копию папки PHP в корень диска - C:/PHP . И и в строке phpinfo() API Extensions появились долгожданные Extention : mysqli,pdo_mysql. Не понятно, почему Apache или сам PHP не берёт расширения из заданной папки "C:/Server/bin/php/ext", а пытается их взять из папки "C:/php/ext" ?
Ларчик просто открывался: в php.ini не раскоментировал и не прописал extension_dir = C:/Server/bin/php/ext Спасибо за напоминание внимательно смотреть логи