libphp7.so undefined symbol: curl_mime_name

MauriceO

Verified User
Joined
Feb 27, 2015
Messages
13
After updating PHP Apache won't start anymore

httpd[23207]: httpd: Syntax error on line 50 of /etc/httpd/conf/httpd.conf: Syntax error on line 4 of /etc/httpd/conf/extra/httpd-phpmodules.conf: Cannot load /usr/lib/apache/libphp7.so into server: /usr/lib/apache/libphp7.so: undefined symbol: curl_mime_name

Line 50 of /etc/httpd/conf/httpd.conf
Include /etc/httpd/conf/extra/httpd-phpmodules.conf

Line 4 of /etc/httpd/conf/extra/httpd-phpmodules.conf
LoadModule php7_module /usr/lib/apache/libphp7.so


Did already a new build of apache and php and a rewrite conf.

Anyone an idea how to solve this issue?

php 7.4.33
apache 2.4.54
centos 7
 
What is your cURL version and did you update to the latest DA version who is not controlling cURL anymore ?
I assume that you have already did yum update curl so try :
Code:
 yum update libcurl
 
I use DA 1.645, which is the latest

There is no update for libcurl at the moment available by yum.

yum list installed | grep libcurl
libcurl.x86_64 7.29.0-59.el7_9.1 @updates
libcurl-devel.x86_64 7.29.0-59.el7_9.1 @updates
 
The latest version of libcurl is already installed.

yum install libcurl
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.theory7.net
* centos-sclo-rh: mirror.theory7.net
* centos-sclo-sclo: mirror.theory7.net
* epel: mirror.nl.leaseweb.net
* extras: mirror.theory7.net
* updates: mirror.theory7.net
Package libcurl-7.29.0-59.el7_9.1.x86_64 already installed and latest version
Nothing to do


The content of httpd-phpmodules.conf
cat /etc/httpd/conf/extra/httpd-phpmodules.conf
LoadModule ruid2_module /usr/lib/apache/mod_ruid2.so
Mutex posixsem
LoadModule mpm_prefork_module /usr/lib/apache/mod_mpm_prefork.so
LoadModule php7_module /usr/lib/apache/libphp7.so
 
This is odd. Can you try this command?
php -m | grep curl

Out of curiosity, are you using PHP 7.3 or another one? Any specific reason not to use php-fpm instead of mod_php?

@zEitEr any clue on how to fix this?
 
I'm using PHP 7.4

Code:
[root@web01 ~]# php -m | grep curl
curl
[root@web01 ~]#

There is no specific reason mod_php is used. Wasn't that previously the default.

After changing to php-fpm, build php again, and rewrite_confs Apache is working again.
 
While I'm not quite sure on what is wrong here, my best offer would be to switch to PHP-FPM. There is no much sense to use mod_php+mod_ruid2 any longer, as they are about to be removed from DirectAdmin support.

If you still want to use mod_php, then you might try and run

Code:
ldconfig
./build update
./build php
./build apache

Enter commands in your server console one by one. Checking carefully results of each command, for the case if they report any error.
 
There is no specific reason mod_php is used. Wasn't that previously the default.
Correct. But it will be gone so it was better to switch, which is why I asked.
Also with php-fpm it's possible to have multiple php versions running. That makes it a lot easier to switch to newer PHP versions and test before if your site is compatible with it.
If not, you can switch back to the former PHP version, update/fix and then switch to the newer one. If that is working, then at a certain time you can put that as php1 and remove the EOL version.
 
Back
Top