Home  >  Article  >  Backend Development  >  dl函数不会用,该如何处理

dl函数不会用,该如何处理

WBOY
WBOYOriginal
2016-06-13 13:40:27711browse

dl函数不会用
header("Content-type: image/png");
dl("php_gd2.dll");
$im = @imagecreate(100, 50)
  or die("Cannot Initialize new GD image stream");
$background_color = imagecolorallocate($im, 255, 255, 255);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, "A Simple Text String", $text_color);
imagepng($im);
imagedestroy($im);
?> 


例子不用怀疑,手册上抄的,关闭gd2拓展,我加了句dl("php_gd2.dll");不起作用,不管是./ ../ ext 或者全部路径,都不起作用,,费解???

------解决方案--------------------
首先不知道楼主用的是那个服务器,如果是linux,就不能用dll,而应该用so

其次dl函数不支持多线程的web server ,所以用dl的apache必须配置为prefork工作模式

最后不建议使用dl函数,还是直接配置扩展吧

------解决方案--------------------
手册内有如下例子:

PHP code
<?php // Example loading an extension based on OS
if (!extension_loaded('sqlite')) {
    if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) {
        dl('php_sqlite.dll');
    } else {
        dl('sqlite.so');
    }
}

// Or, the PHP_SHLIB_SUFFIX constant is available as of PHP 4.3.0
if (!extension_loaded('sqlite')) {
    $prefix = (PHP_SHLIB_SUFFIX == 'dll') ? 'php_' : '';
    dl($prefix . 'sqlite.' . PHP_SHLIB_SUFFIX);
}
?>
<br><font color="#e78608">------解决方案--------------------</font><br>写到 php.ini中好一些  <br>5.3 不支持dl 函数 了!<br>win是 .dll  <br>linux 是.so <div class="clear">
                 
              
              
        
            </div>
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn