Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Brakuje rozszerzenia mysql
Forum PHP.pl > Forum > PHP
damianooo
Mam problem z uruchomieniem aplikacji na jednym z serwerów. W chodząc na localhost w przeglądarce otrzymuję następujący komunikat:
Your PHP installation appears to be missing the MySQL extension ...

Również w konsoli wpisując php -v mam komunikat:
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/mysql.so' - libmysqlclient.so.18: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/mysqli.so' - libmysqlclient.so.18: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/pdo_mysql.so' - libmysqlclient.so.18: cannot open shared object file: No such file or directory in Unknown on line 0


Porównując uruchomione moduły na serwerze na którym mam problem z innym serwerem na którym nie ma takiego problemu poleceniem php -m to nie ma na liście takich modułów:
  1. mbstring
  2. mysqli
  3. pdo_sqlite


Takie pakiety są jednak zainstalowane (yum list |grep mysql)
  1. mysql-connector-java.noarch
  2. pcp-pmda-mysql.x86_64
  3. php-mysql.x86_64
  4. php.x86_64
  5. php-cli.x86_64
  6. php-common.x86_64
  7. php-pdo.x86_64


phpinfo() również nie wyświetla mi modułów MySQL.

Linux Red Hat 7
PHP 5.4.16

Co może być problemem ?
ohm
Brak libmysqlclient, spróbuj z
yum install mysql
damianooo
dlaczego proponujesz raz jeszcze instalację mysqla ?
Przeinstalowałem właśnie i nadal mam ten komunikat.
Wersja MySQLa ta sama na obu serwerach.

Co ciekawe przeniosłem nawet z katalogu /mysql/5716/lib64/mysql do /usr/lib64/mysql poniższe pliki i linki aby zrobić tak jak jest na innym serwerze i nadal mam ten sam komunikat (oczywiście restart MySQLa był, restart serwera też)

libmysqlclient_r.so.18 -> libmysqlclient.so.18
libmysqlclient_r.so.18.1.0 -> libmysqlclient.so.18.1.0
libmysqlclient.so.18 -> libmysqlclient.so.18.1.0
libmysqlclient.so.18.1.0
libmysqlclient.so.20 -> libmysqlclient.so.20.3.3
libmysqlclient.so.20.3.3

Co jeszcze można zweryfikować ?
Jakim cudem nie ładuje mi tych modułów PHP ? Skąd to jest ładowane ? Bo w php.ini tego nie ma .



ok udało się .. należało zrobić takie kroki:
1) Utworzenie pliku mariadb-x86_64.conf w /etc/ld.so.conf.d/
2) dodanie w pliku mariadb-x86_64.conf ścieżki /usr/lib64/mysql
3) przenieść linki z katalogu /mysql/5716/lib64/mysql do /usr/lib64/mysql
4) polecenie ldconfig
5) restart apache


Można zamknąć wątek.


ohm
Cytat
dlaczego proponujesz raz jeszcze instalację mysqla ?

Bo wyglądało że nie masz zainstalowanego

Cytat
Jakim cudem nie ładuje mi tych modułów PHP ? Skąd to jest ładowane ? Bo w php.ini tego nie ma .


To są biblioteki zależne od phpowego modułu mysql. Znajdź sobie plik modułu mysql.so (/usr/lib/php/...?) i sprawdź
Kod
ldd mysql.so
i będziesz miał listę wszystkich zależności.

To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.