Warnings after recompiling php (unable to load dynamic library and module initialization failed)

After recompiling php, I get the following errors when I use php cli:

PHP Warning: PHP Startup: imap: Unable to initialize module Module compiled with module API=20050922 PHP compiled with module API=20090626 These options need to match in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/ldap.so' - /usr/lib/php/modules/ldap.so: undefined symbol: third_arg_force_ref in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/mbstring.so' - /usr/lib/php/modules/mbstring.so: undefined symbol: second_arg_force_ref in Unknown on line 0 PHP Warning: PHP Startup: mysql: Unable to initialize module Module compiled with module API=20050922 PHP compiled with module API=20090626 These options need to match in Unknown on line 0 PHP Warning: PHP Startup: mysqli: Unable to initialize module Module compiled with module API=20050922 PHP compiled with module API=20090626 These options need to match in Unknown on line 0 PHP Warning: PHP Startup: PDO: Unable to initialize module Module compiled with module API=20050922 PHP compiled with module API=20090626 These options need to match in Unknown on line 0 PHP Warning: PHP Startup: pdo_mysql: Unable to initialize module Module compiled with module API=20050922 PHP compiled with module API=20090626 These options need to match in Unknown on line 0 PHP Warning: PHP Startup: pdo_sqlite: Unable to initialize module Module compiled with module API=20050922 PHP compiled with module API=20090626 These options need to match in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/mapi.so' - /usr/lib/php/modules/mapi.so: undefined symbol: fourth_arg_force_ref in Unknown on line 0 

After some searches, I found that the modules should be updated, I tried:

 pecl install <modulename> 

and

 pecl upgrade <modulename> 

and

 pear install -f pecl/<modulename> 

but I got errors like:

 configure: error: mysql_query missing!? ERROR: `/tmp/pear/temp/PDO_MYSQL/configure' failed 

Or errors like:

 make: *** [sqlite_driver.lo] Error 1 ERROR: `make' failed 

Any idea on updating modules?

If there was something that I had to do before compiling, explain to me because I'm going to recompile php on other servers, and I want to know this solution before I run into the same problem again.

Thanks in advance.

PS: My OS is Linux (Redhat)

+4
source share
1 answer

It seems that the problem you have is that your php and module APIs are different, for example:

 Module compiled with module API=20050922 <----- this PHP compiled with module API=20090626 <----- and this should match. 

I usually install extensions by compiling them from a source that seems to work much more reliably.

You will need to use phpize

As an example, here, as I installed APC:

 wget http://pecl.php.net/get/APC-3.1.9.tgz tar -xvzf APC-3.1.9.tgz cd APC-3.1.9 phpize ./configure make sudo make install 

This should work for all PECL extensions. Now you also have other errors. I would suggest going through php.ini and disabling all extensions first, and then enabling and fixing one by one.

There is also an error in mysqli. If you use php> = 5.0.0, you will need to recompile php (c. / Configure [....] --with-mysqli), otherwise the above procedure should work on it too.

NTN

0
source

Source: https://habr.com/ru/post/1341973/


All Articles