ホームページ  >  記事  >  バックエンド開発  >  dl機能が使えないのですがどうすればいいですか?

dl機能が使えないのですがどうすればいいですか?

WBOY
WBOYオリジナル
2016-06-13 13:40:27699ブラウズ

dl 関数は
header("Content-type: image/png");
dl("php_gd2.dll");
$im = @imagecreate( 100 , 50)
または die("新しい GD イメージ ストリームを初期化できません");
$background_color = imagecolorallocate($im, 255, 255, 255);
$text_color = imagecolorallocate($im, 233 , 14, 91);
imagestring($im, 1, 5, 5, "単純なテキスト文字列", $text_color);
imagepng($im);
imagedestroy($im);
?>


マニュアルからコピーしたもので間違いありません。 dl("php_gd2.dll") という文を追加しました。 ./ ../ ext であっても、すべてのパスが機能しなくても、機能しません。不可解ですか? ? ?

-----解決策--------------------------------
第一に、そのサーバーが Linux の場合、dll を使用することはできません。

次に、dl 関数はマルチをサポートしていません。 -スレッド化された Web サーバーのため、dl を使用する Apache はプリフォーク動作モードで設定する必要があります

最後に、dl 関数を使用することはお勧めできません。拡張機能を直接設定することをお勧めします。

------解決策----------------------
マニュアルには次の例があります:

PHP コード
<?php
// OS に基づいて拡張機能をロードする例
if (!extension_loaded('sqlite')) {
    if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) {
        dl('php_sqlite.dll');
    } それ以外 {
        dl('sqlite.so');
    }
}

// または、PHP_SHLIB_SUFFIX 定数は PHP 4.3.0 以降で利用可能です
if (!extension_loaded('sqlite')) {
    $prefix = (PHP_SHLIB_SUFFIX == 'dll') : '';
    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>
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。