Stretch php7.2 Fatal error: Uncaught Error: Call to undefined function dl()

Bonjour,

sur la Debian Stretch 9.5 et php7.2
j’ai activé “enable_dl” dans php.ini :

grep enable_dl /etc/php/7.2/apache2/php.ini
enable_dl = On

j’ai reactivé apache2 :

service apache2 restart

le code suivant <?php $bool=dl('un_fichier.so')?>
donne :
Fatal error : Uncaught Error: Call to undefined function dl() in /var/www/html/test_php/test_dl.php:1 Stack trace: #0 {main} thrown in /var/www/html/test_php/test_dl.php on line 1

Que manque-t-il ?

Ca ne serait pas juste que dl() est devenu obsolète et est désactivé dans la plupart des contextes ?


Je ne sais pas, hein, je dis ça, mais je découvre.

C’est une bonne piste. Mais alors par quoi remplacer cette fonction ?

C’est écrit dans le post que j’ai indiqué, me semble t il.

Certes. Mais je n’ai pas écrit ce code php (MediaWiki) et je suis incapable d’effectuer les changements indiqués.
Merci quand même.

Des infos sur la version de ton Mediawiki par exemple, est-il à jour ?

Mediawiki est techniquement compatible avec php7.2 mais si tu utilise une version antédiluvienne il est fort possible que la méthode alternative n’utilisant pas la fonction dl soit pas implémenté.
Si je me rappelle bien le retrait date tout de même de la sortie de php5.6, ça fait déjà quelques temps :confused:

Sans autre information de ta part je soupçonne une mise à jour violente de ton applicatif, ce qui ne devrait jamais être fait en production, déployer à l’aide de docker une préprod sert justement à pouvoir tester et vérifier que tous soit bien ordre avant d’appliquer les modifications sur la production.

C’est un très vieux Mediawiki et je n’ai pas envie de le mettre à jour.
Merci pour les informations.