PHP 7.4 używa modułów z 5.6?

Konfiguracja serwerów, usług, itp.
Awatar użytkownika
LordRuthwen
Moderator
Posty: 2302
Rejestracja: 18 września 2009, 21:45
Lokalizacja: klikash?

PHP 7.4 używa modułów z 5.6?

Post autor: LordRuthwen »

Mam taki dziwny problem, na jednej maszynie jest odpalonych kilka wersji php-fpm, między innymi 7.4 i 5.6.
Oniemiałem gdy zobaczyłem taki komunikat na stronie uruchomionej na 7.4:

Kod: Zaznacz cały

Your PHP MySQL library version 5.5.62 differs from your MySQL server version 10.0.38. This may cause unpredictable behavior.
Wszystko fajnie, ALE ta wersja biblioteki php do mysqla jest w 5.6:

Kod: Zaznacz cały

mysql

MySQL Support => enabled
Active Persistent Links => 0
Active Links => 0
Client API version => 5.5.62
MYSQL_MODULE_TYPE => external
MYSQL_SOCKET => /var/run/mysqld/mysqld.sock
MYSQL_INCLUDE => -I/usr/include/mysql
MYSQL_LIBS => -L/usr/lib/x86_64-linux-gnu -lmysqlclient_r 

Directive => Local Value => Master Value
mysql.allow_local_infile => On => On
mysql.allow_persistent => On => On
mysql.connect_timeout => 60 => 60
mysql.default_host => no value => no value
mysql.default_password => no value => no value
mysql.default_port => no value => no value
mysql.default_socket => /var/run/mysqld/mysqld.sock => /var/run/mysqld/mysqld.sock
mysql.default_user => no value => no value
mysql.max_links => Unlimited => Unlimited
mysql.max_persistent => Unlimited => Unlimited
mysql.trace_mode => Off => Off

mysqli

MysqlI Support => enabled
Client API library version => 5.5.62
Active Persistent Links => 0
Inactive Persistent Links => 0
Active Links => 0
Client API header version => 5.5.62
MYSQLI_SOCKET => /var/run/mysqld/mysqld.sock

Directive => Local Value => Master Value
mysqli.allow_local_infile => On => On
mysqli.allow_persistent => On => On
mysqli.default_host => no value => no value
mysqli.default_port => 3306 => 3306
mysqli.default_pw => no value => no value
mysqli.default_socket => /var/run/mysqld/mysqld.sock => /var/run/mysqld/mysqld.sock
mysqli.default_user => no value => no value
mysqli.max_links => Unlimited => Unlimited
mysqli.max_persistent => Unlimited => Unlimited
mysqli.reconnect => Off => Off
mysqli.rollback_on_cached_plink => Off => Off
Natomiast dla 7.4 wygląda to tak:

Kod: Zaznacz cały

mysqli

MysqlI Support => enabled
Client API library version => mysqlnd 7.4.11
Active Persistent Links => 0
Inactive Persistent Links => 0
Active Links => 0

Directive => Local Value => Master Value
mysqli.allow_local_infile => Off => Off
mysqli.allow_persistent => On => On
mysqli.default_host => no value => no value
mysqli.default_port => 3306 => 3306
mysqli.default_pw => no value => no value
mysqli.default_socket => no value => no value
mysqli.default_user => no value => no value
mysqli.max_links => Unlimited => Unlimited
mysqli.max_persistent => Unlimited => Unlimited
mysqli.reconnect => Off => Off
mysqli.rollback_on_cached_plink => Off => Off

mysqlnd

mysqlnd => enabled
Version => mysqlnd 7.4.11
Compression => supported
core SSL => supported
extended SSL => supported
Command buffer size => 4096
Read buffer size => 32768
Read timeout => 86400
Collecting statistics => Yes
Collecting memory statistics => No
Tracing => n/a
Loaded plugins => mysqlnd,debug_trace,auth_plugin_mysql_native_password,auth_plugin_mysql_clear_password,auth_plugin_caching_sha2_password,auth_plugin_sha256_password
API Extensions => mysqli,pdo_mysql
I zastanawiam się jak to możliwe?
mariaczi
Member
Posty: 1343
Rejestracja: 08 lutego 2008, 12:58
Lokalizacja: localhost@śląskie

Re: PHP 7.4 używa modułów z 5.6?

Post autor: mariaczi »

Zaczął bym od sprawdzenia "ini_path" i "ini_dir" a następnie popatrzył czy nie ma symlinków w miejsce gdzie tego być nie powinno oraz, o ile używasz, jak wygląda konfiguracja alternatives. Na koniec zajrzał bezpośrednio w katalogi z rozszerzeniami i czy tam przypadkiem nie leży niewłaściwa binarka ".so"
Awatar użytkownika
mati75
Junior Member
Posty: 623
Rejestracja: 30 lipca 2009, 11:19
Lokalizacja: default city

Re: PHP 7.4 używa modułów z 5.6?

Post autor: mati75 »

Trochę odkop to chodzi o wersję libmysql która jest w systemie lub z którą php było skompilowane, a nie że są załadowane różne wersję dla różnych wersji php. To by nie zadziałało, bo wystąpiłby konflikt phpapi.
Awatar użytkownika
LordRuthwen
Moderator
Posty: 2302
Rejestracja: 18 września 2009, 21:45
Lokalizacja: klikash?

Re: PHP 7.4 używa modułów z 5.6?

Post autor: LordRuthwen »

No czaję, z tym, że w pierwszym poście masz wynik php -i i są różne wersje. php jest odpalony w fpmie i apache korzysta z fpma konkretnej wersji dla konkretnego vhosta. Tam pomimo zwracania wersji 7.4 pluł się o tą bibliotekę. Czary :)
ODPOWIEDZ