您的位置:

php怎么调用c的动态链接库(js调用dll动态链接库)

本文目录一览:

PHP如何用调用C#编写的DLL

1. 创建一个 C# Class Library ,命名为:HelloWorld

2. 打开项目的属性,在点选左边的 "Application"(就是第一个tab) , 然后点击Assembly Information 按钮 ,在弹出的Dialog中, 必须在底部勾上: Make assembly COM-visible !否则 , 这个dll将不能以COM方式访问 .( 也可以在代码中的类声明中写上[ComVisible(true)] , 效果一样,需要增加using System.Runtime.InteropServices;引用)

PHP调用C#开发的dll类库方法

3. 创建强命名签名文件并使用

使用vs.net的“Vsitual Studio .Net工具”--Vistual Studio .Net命令提示符,输入 sn -k d:HelloWorld.snk 回车即创建了强命名签名文件

打开项目的属性,点选左边Signing 勾上Sign the assembly 在 Choose a strong name key file:处选择 选择刚才创建的HelloWorld.snk文件

4. 创建类库并编译成dll

复制代码 代码如下:

namespace HelloWorld

{

//[ComVisible(true)] //or check "Assembly COM-Visible" at Application-Assembly_Information dialog ;

public class Hello

{

public string Write()

{

return "Hello World";

}

}

}

5. 找到dll文件夹路径 ,然后使用vs.net的“Vsitual Studio .Net工具”--Vistual Studio .Net命令提示符

进入该dll文件夹下输入:

复制代码 代码如下:

regasm HelloWorld.dll回车

这时候,这个.dll的.net程序集就变成一个标准的Com组件了,但是还不能用,必须让它变成全局Com组件.

将程序集添加到全局程序集缓存中

进入提示符窗口,输入:

复制代码 代码如下:

gacutil /I HelloWorld.dll回车

这时,你的这个dll就被复制到全局程序集缓存中了.也就是说无论在这个电脑的哪个硬盘上都可以使用此dll组件了.

如果不进行强命名签名,这一步会提示加载失败:

PHP可否调用动态链接库

当php.ini中的enable_dl选项为on时,可以使用下面这个函数来加载dll文件:

int dl ( string library ),但是当系统处于安全模式时,即使enable_dl为on,也无法使用.

?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);

}

?

这属于动态加载dll文件,还有一种方法就是,将你的dll文件放到php的ext目录下,然后在你的php.ini文件里面找到一大堆:extension=php_xxxx.dll那里,找个空行,按照这个写法写上去,注意前面不要有";"号.重启apache后,就可以调用里面的东西了.

php怎么调用 dll动态库

做成 php 的扩展,就可以调用了。 把做好的dll文件放在php的扩展模块路径下面,然后在php.ini文件中追加 extension=extname.dll 如果dll文件没问题,接着就可以在php文件中直接调用其中的函数了。

PHP能调用第三方动态链接库吗?

一般情况下是这样的,先在require里添加想要使用的第三方插件,然后composer update,之后在app/config/app.php中添加ServiceProvider和alias。

composer.json

`"autoload": {

"classmap": [

"app/commands",

"app/controllers",

"app/models",

"app/database/migrations",

"app/database/seeds",

"app/tests/TestCase.php"

"app/your_dir/test.php"

]

},`

php怎么调用c的动态链接库(js调用dll动态链接库)

2022-11-13
python动态调用链接库(python 动态链接库)

2022-11-13
java加载dll动态库,js调用dll动态链接库

2022-11-21
python调用打印动态链接(python调用动态链接的方法

2022-11-13
js调用c怎么调(js调用c语言接口)

本文目录一览: 1、JavaScript-js和c语言可以相互调用吗 2、如何在 iOS 平台上使用 Javascript 直接调用 Objective-C 方法 3、js中方法调用疑问 4、js里怎

2023-12-08
如何获取php方法的调用链(php获取url内容)

2022-11-14
如何创建C++动态链接库并实现函数调用

2023-05-16
怎么调用php(怎么调用任务管理器)

2022-11-15
apache链接php,Apache链接PHP

2023-01-05
php调用静态库(php 静态编译)

2022-11-14
php链接oracle,php链接传递参数

2022-11-26
php链接sqlserver,php连接mysql

2022-11-27
php连接apache怎链接,apache支持php

2022-11-30
php链接sqlserver查询数据,php连接sqlser

2023-01-07
百度链接提交自动推送js代码版,百度自动提交链接php推送

本文目录一览: 1、网站优化技巧:百度自动推送你会用吗 2、如何安装百度自动推送 3、如何给网站添加百度自动推送工具,增加网站收录 4、百度站长工具链接提交主动推送怎么用 5、如何为网站安装百度自动推

2023-12-08
aspmysql链接,asp连接sql数据库

2022-11-24
php短链接生成算法(php短链接api)

2022-11-13
php获取链接状态码,php获取链接状态码是什么

2023-01-09
动态json文件php(json拼接动态数据)

本文目录一览: 1、如何php将一个动态的数组转换为json的格式 2、php动态调用数据库输出json 3、js获取php动态生成的json出错的问题 4、PHP如何把数据写入JSON文件并在另一P

2023-12-08
数据库动态json,数据库动态表

本文目录一览: 1、php动态调用数据库输出json 2、数据库数据怎么动态生成json文件? 3、js如何动态获取数据库中的json数组,取出后又怎么输出呢? php动态调用数据库输出json ph

2023-12-08