У меня проблема с загрузкой MySQL PHP расширений при запуске HTTPD и PHP включен. Я использую дистрибутив Slackware 14.2. Недавно я начал исследовать использование PHP с моим веб-сервером для аутентификации в базе данных MySQL. Я включил PHP в моем файле HTTPD.conf, перезапустил HTTPD и простой скрипт. php отображает часть Hello world из тегов PHP, как и должно.
<!DOCTYPE html>
<html>
<body>
<h1>My first PHP page</h1>
<?php
echo "Hello World!";
?>
</body>
</html>
Однако, когда я запускаю сценарий входа php, который пытается получить доступ к MariaDB для получения имен пользователей и паролей, я получаю следующее в моем журнале ошибок HTTPD.
[Sun Jun 14 18:18:59.734808 2020] [php7:error] [pid 2830:tid 140204551653120] [client XXX:59322] PHP Fatal error: Uncaught Error: Call to undefined function mysqli_connect() in XXX.php:10\nStack trace:\n#0 XXX/login.php(12): require_once()\n#1 {main}\n thrown in XXX/config.php on line 10, referer: http://www.divemanagement2.com/
Когда я проверяю версию php, я получаю следующий результат:
PHP Warning: PHP Startup: Unable to load dynamic library 'mysqli.so' (tried: /usr/lib64/php/extensions/mysqli.so (/usr/lib64/php/extensions/mysqli.so: undefined symbol: mysqlnd_global_stats), /usr/lib64/php/extensions/mysqli.so.so (/usr/lib64/php/extensions/mysqli.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'pdo_mysql.so' (tried: /usr/lib64/php/extensions/pdo_mysql.so (/usr/lib64/php/extensions/pdo_mysql.so: undefined symbol: mysqlnd_allocator), /usr/lib64/php/extensions/pdo_mysql.so.so (/usr/lib64/php/extensions/pdo_mysql.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'wddx.so' (tried: /usr/lib64/php/extensions/wddx.so (/usr/lib64/php/extensions/wddx.so: cannot open shared object file: No such file or directory), /usr/lib64/php/extensions/wddx.so.so (/usr/lib64/php/extensions/wddx.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP 7.4.7 (cli) (built: Jun 9 2020 15:34:50) ( ZTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.7, Copyright (c), by Zend Technologies
Вот расширения, которые я включил в php .ini
extension=bcmath.so
extension=bz2.so
extension=calendar.so
extension=ctype.so
extension=curl.so
extension=dba.so
extension=dom.so
extension=enchant.so
extension=exif.so
extension=ftp.so
extension=gd.so
extension=gettext.so
extension=gmp.so
extension=iconv.so
extension=intl.so
extension=ldap.so
extension=mbstring.so
; extension=mysql.so
extension=mysqli.so
extension=odbc.so
extension=openssl.so
zend_extension=opcache.so
extension=pdo.so
extension=pdo_mysql.so
extension=pdo_sqlite.so
extension=pdo_odbc.so
extension=pspell.so
extension=shmop.so
extension=snmp.so
extension=soap.so
extension=sqlite3.so
extension=tokenizer.so
extension=wddx.so
extension=xmlreader.so
extension=xsl.so
extension=zip.so
extension=zlib.so
Примечание. Я закомментировал mysql. Таким образом, я прочитал это после версии 5. mysql .so устарел для mysqli.so, и я использую PHP версию 7. Пожалуйста, сообщите, если это не так.
Я не понимаю, что выводит php - Я сообщаю, что он не может загрузить расширение mysqli.so, как здесь, в / usr / lib64 / php / extensions:
# ls -l
total 4764
-rwxr-xr-x 1 root root 39360 Jun 9 15:35 bcmath.so*
-rwxr-xr-x 1 root root 27288 Jun 9 15:35 bz2.so*
-rwxr-xr-x 1 root root 35160 Jun 9 15:35 calendar.so*
-rwxr-xr-x 1 root root 14520 Jun 9 15:35 ctype.so*
-rwxr-xr-x 1 root root 101496 Jun 9 15:35 curl.so*
-rwxr-xr-x 1 root root 65248 Jun 9 15:35 dba.so*
-rwxr-xr-x 1 root root 167960 Jun 9 15:35 dom.so*
-rwxr-xr-x 1 root root 27160 Jun 9 15:35 enchant.so*
-rwxr-xr-x 1 root root 92960 Jun 9 15:35 exif.so*
-rwxr-xr-x 1 root root 64376 Jun 9 15:35 ftp.so*
-rwxr-xr-x 1 root root 114072 Jun 9 15:35 gd.so*
-rwxr-xr-x 1 root root 14648 Jun 9 15:35 gettext.so*
-rwxr-xr-x 1 root root 76992 Jun 9 15:35 gmp.so*
-rwxr-xr-x 1 root root 52000 Jun 9 15:35 iconv.so*
-rwxr-xr-x 1 root root 489880 Jun 9 15:35 intl.so*
-rwxr-xr-x 1 root root 97632 Jun 9 15:35 ldap.so*
-rwxr-xr-x 1 root root 1063608 Jun 9 15:35 mbstring.so*
-rwxr-xr-x 1 root root 142400 Jun 9 15:35 mysqli.so*
-rwxr-xr-x 1 root root 269520 Jun 9 15:35 mysqlnd.so*
-rwxr-xr-x 1 root root 76864 Jun 9 15:35 odbc.so*
-rwxr-xr-x 1 root root 561856 Jun 9 15:35 opcache.so*
-rwxr-xr-x 1 root root 174040 Jun 9 15:35 openssl.so*
-rwxr-xr-x 1 root root 109880 Jun 9 15:35 pdo.so*
-rwxr-xr-x 1 root root 35456 Jun 9 15:35 pdo_mysql.so*
-rwxr-xr-x 1 root root 31448 Jun 9 15:35 pdo_odbc.so*
-rwxr-xr-x 1 root root 35736 Jun 9 15:35 pdo_sqlite.so*
-rwxr-xr-x 1 root root 27064 Jun 9 15:35 pspell.so*
-rwxr-xr-x 1 root root 14648 Jun 9 15:35 shmop.so*
-rwxr-xr-x 1 root root 56312 Jun 9 15:35 snmp.so*
-rwxr-xr-x 1 root root 315584 Jun 9 15:35 soap.so*
-rwxr-xr-x 1 root root 64832 Jun 9 15:35 sqlite3.so*
-rwxr-xr-x 1 root root 60480 Jun 9 15:35 tidy.so*
-rwxr-xr-x 1 root root 22904 Jun 9 15:35 tokenizer.so*
-rwxr-xr-x 1 root root 35512 Jun 9 15:35 xmlreader.so*
-rwxr-xr-x 1 root root 85080 Jun 9 15:35 xmlrpc.so*
-rwxr-xr-x 1 root root 35704 Jun 9 15:35 xsl.so*
-rwxr-xr-x 1 root root 72824 Jun 9 15:35 zip.so*
-rwxr-xr-x 1 root root 52224 Jun 9 15:35 zlib.so*
Может ли кто-нибудь объяснить мне, почему расширение mysqli не загружается, даже если оно существует в том же каталоге, который ищется при инициализации действие? Спасибо за любую помощь.