Function call undefined dl ()

I use the PHTML encoder to encode my php file, but it gives the error "Call to undefined dl () function" error when running the encoded file. Someone please help.

<?php if(!function_exists("phtmldec")){ $w=(substr(PHP_OS,0,3)=="WIN")?1:0;$ln="phtmlenc".phpversion();$cd=dirname(__FILE__); if($w){ $ln=$ln.".dll";if($cd[1]==":") $cd=substr($cd,2); } else { $ln=$ln.".so";if(strlen($cd)<3) $cd=getcwd(); } if(version_compare(phpversion(),"5.2.5")==-1){ $cd1=ini_get('extension_dir'); $cd2=PHP_EXTENSION_DIR; if($cd[strlen($cd)-1]!="/")$cd=$cd."/"; if($cd1[strlen($cd1)-1]!="/")$cd1=$cd1."/"; if($cd2[strlen($cd2)-1]!="/")$cd2=$cd2."/"; if($cd1[1]==":") $cd1=substr($cd1,2); if($cd2[1]==":") $cd2=substr($cd2,2); $ic=substr_count($cd,"\\")+substr_count($cd,"/"); $ic1=substr_count($cd1,"\\")+substr_count($cd1,"/"); $ic2=substr_count($cd2,"\\")+substr_count($cd2,"/"); $en=str_repeat("../",max($ic,$ic1,$ic2))."..".$cd.$ln; } else { $en=$ln;$r=dl($en);if(!$r)exit("Unable to load $en"); } $p="F4\ $A016YC2@Y (8Q[Y!2F3[@K2.0>K0Z%5^#2\\,&;5L7\$<KHL)BH<`"; phtmldec($p); } ?> 
+1
php
source share
1 answer

as stated in @ k102 dl() disabled by default since 5.3:

as stated in php documentation: http://php.net/manual/en/function.dl.php

  5.3.0 dl() is now disabled in some SAPIs due to stability issues. The only SAPIs that allow dl() are CLI and Embed. Use the Extension Loading Directives instead. 

as suggested, use the Download Directives instead: http://www.php.net/manual/en/ini.core.php#ini.extension


Basically, your only choice is:

  • Download the extension by setting it up correctly on php.ini
  • Use one of the specified SAPIs that still supports dl() as described in the documentation: (CLI, CGI and Embed)
  • Downgrade your php version if you really need to download it dynamically
+2
source share

All Articles