Re: php-fpm (8.0) strange error related to smbclient
Date: Fri, 04 Feb 2022 23:01:46 UTC
On 04/02/2022 21:20, Xavier Humbert wrote: > Hi, > > I recently upgraded my whole php stuff from 7.3 to 8.0 via portupgrade > > All went flawlessly. But when I want to start php-fpm, I got this error > about which Google knows nothing : > >> [root@numenor php80]# service php-fpm restart >> Performing sanity check on php-fpm configuration: >> <br /> >> <b>Fatal error</b>: Duplicate parameter name $oldstate for function >> smbclient_rename() in <b>Unknown</b> on line <b>0</b><br /> > I eventually grepped the whole /usr/local/etc AND /usr/local/www > directories for this parameter with no success > > Where the hell does this come from ? Samba, obviously, a grep in > /usr/local/lib/php matches in smbclient.so > > Also, libsbmclient-php sources show this parameter twice : > https://github.com/eduardok/libsmbclient-php/blob/master/smbclient.c#L189 > > But how fix this, any idea May I fill a PR ? This is just a wild guess but I thing there is something wrong with your pecl-smbclient extension. The Fatal error is from loading this extension at the start of php-fpm and not from calling some function in any PHP script. There is a source code where it is really twice oldstate and twice oldpath https://github.com/eduardok/libsmbclient-php/blob/master/smbclient.c#L189 ZEND_BEGIN_ARG_INFO(arginfo_smbclient_rename, 0) ZEND_ARG_INFO(0, oldstate) ZEND_ARG_INFO(0, oldpath) ZEND_ARG_INFO(0, oldstate) ZEND_ARG_INFO(0, oldpath) ZEND_END_ARG_INFO() I am not a C programmer but it seems wrong to me, because PHP function smbclient_rename takes 4 different parameters: smbclient_rename ( resource $state_old, string $uri_old, resource $state_new, string $uri_new ) I will expect something like this: ZEND_BEGIN_ARG_INFO(arginfo_smbclient_rename, 0) ZEND_ARG_INFO(0, oldstate) ZEND_ARG_INFO(0, oldpath) ZEND_ARG_INFO(0, newstate) ZEND_ARG_INFO(0, newpath) ZEND_END_ARG_INFO() But I don't know if this will fix it or destroy the whole universe. Miroslav Lachman