本文實例講述了php的dl函數用法。分享給大家供大家參考。具體如下:
PHP的dl函數官網說明如下:
http://www.php.net/manual/en/function.dl.php
具體用法示例如下:
復制代碼 代碼如下:<?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);
}
?>
dl("memcache.so");
這樣只要php.ini中配置好就可以不要再引用so文件不然會說多處引用
復制代碼 代碼如下:extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/"
;extension=memcache.so
希望本文所述對大家的PHP程序設計有所幫助。
dl() is not supported in multithreaded Web servers.
貌似,是不支持多線程。。
1.需要加載php擴展
dl("php_w32api.dll");
2.從你的dll裡面導出函數,假定該函數在dll裡面被聲明為FuncDll,並且返回值是int類型
w32api_register_function("函數所在的dll",
"FuncDll",
"int");
3.好了,現在你可以調用它了
$result = FuncDll();