php 动态引用dll文件路径,win平台环境变量与dll动态链接库搜索路径小结
今日需要做一个在cmd命令窗口下使用php.exe执行的php小程序,用于循环获取某API提供的json数据并进行分析后实时发送短信提醒。
用惯了linux下的直接命令窗口输入curl、php等命令而不需要附带路径,cmd一打开就习惯性的输入curl __APIUrl__获取json数据格式,结果cmd直接提示:“‘curl’不是内部或外部命令,也不是可运行的程序或批处理文件”。大致问题可以归纳为如下:
/****cmd下执行curl.exe文件时有如下书写方式****/
//方式一
curl http://www.xxx.com/JsonApi
//方式二
D:\tools\curl.exe http://www.xxx.com/JsonApi
/***
//当执行方式一时因为没有将路径D:\tools\添加到系统环境变量(或用户环境变量)中,会提示找不到curl.exe
//这个时候要执行curl.exe就只能使用方式二了
//那么我非要使用方式一呢?
//这个时候就要将D:\tools\路径添加进去,然后就可以使用方式一了
***/
这种问题是一个很常见的问题了,在linux下可以很容易的添加一个系统环境变量,代码如下:
vi /etc/profile
//在该文件最后添加相应可执行命令的路径即可,比如php命令放在/usr/local/php5/bin/下,则添加:
export PATH=$PATH:/usr/local/php5/bin
//然后保存退出 即可使用php命令时不再附带前面的路径
但目前咱们遇到的问题不是在win平台下嘛~其实原理差不多,以为win系统添加curl命令为例。
我因为要在cmd中运行curl命令,下载了curl(带ssl、ssh2的),下载地址:
https://www.paehl.com/open_source/?download=curl_733_0_ssh2_ssl_sspi.zip 【curl主程序】
https://www.paehl.com/open_source/downloads/libssh.7z 【curl需要用到的openssl、ssh的dll库】
解压上述exe以及dll文件后,全部放在D:\tools文件夹下,打开cmd命令窗口,敲入如下命令:
D:\tools\curl.exe http://www.baidu.com
命令可以顺利执行,那么我想直接打开cmd命令窗口后输入如下命令也执行,就需要添加系统环境变量了。
curl.exe http://www.baidu.com
以本文中路径以及curl为例,概述下为curl添加系统环境变量的过程:
“我的电脑”--右键“属性”--“高级系统设置”---“环境变量”如下图所示,为系统超级管理员添加一个环境变量即可(不同的电脑有不同的系统用户,其显示是有区别的,当然也可以添加“系统变量”)。
将curl的目录添加进用户环境变量中的path即可,在已有变量后方添加如下:
;D:\tools
刚开始的时候因为我下载curl为带openssl与ssh功能的版本,而又未下载上述下载地址中的第二个dll动态链接库文件,一运行就提示错误,如下图所示:
图中错误信息已经很明确了,系统找不到libssh2.dll文件,这就牵涉到dll文件的加载位置问题了,找了下win平台关于加载dll文件的顺序,如下:
应用程序所在目录→当前目录→Windows SYSTEM目录→Windows目录→PATH环境变量指定的路径
这下好理解了,将上述下载地址第二个中下载的dll文件与curl.exe放置在同一个目录不就OK了嘛~
(文件目录情况)
(环境变量、dll配置完成后的情况)
php 动态引用dll文件路径,win平台环境变量与dll动态链接库搜索路径小结相关推荐
- 没有MsVCp140如何安装MysQl,win10中msvcp140.dll文件如何安装_win10电脑缺少msvcp140.dll文件的安装教程...
有不少win10系统用户在电脑中运行软件或者程序的时候,反映说会遇到msvcp140.dll文件缺少或丢失的情况,解决方法很简单,只需要安装msvcp140.dll文件即可,那么win10中msvcp ...
- gcc指定头文件搜索路径及动态链接库搜索路径
一.#include <>与#include "" #include <>直接到系统指定的某些目录中去找某些头文件. #include "&quo ...
- 关于java调用Dll文件的异常 Native library (win32-x86-64/CtrlNPCDLL.dll) not found in resource pat
关于java调用Dll文件的异常 Native library (win32-x86-64/CtrlNPCDLL.dll) not found in resource pat 参考文章: (1)关于j ...
- vcruntime140.dll文件缺失,去哪下载vcruntime140.dll文件
大家都知道电脑当中的一些系统文件是非常重要的,每一个大型的系统软件都包括了许许多多的系统文件,每个软件都有一个下载安装包,下载安装包当中有很多的文件都关系着软件的正常使用.假如某个软件当中的一些dll ...
- 提示由于找不到MSVCR120.dll文件,怎么修复呢?MSVCR120.dll是什么文件?
打开游戏或者软件的时候,电脑提示由于找不到MSVCR120.dll文件,无法执行此代码是原因呢?其实就是电脑系统中的MSVCR120.dll文件丢失或者损坏了,MSVCR120.dll文件可以帮助系统 ...
- dll文件丢失怎么恢复,修复丢失dll的全部方法分享
dll文件丢失怎么恢复?其实DLL 或称为动态链接库文件,是 Windows 操作系统中的重要文件之一,它包含了被应用程序或操作系统内部使用的函数和程序代码.当应用软件或系统内置应用启动时,会自动加载 ...
- 辐射3游戏登录是提示计算机丢失xlive.dll文件,玩辐射3提示丢失xlive.dll怎么办 辐射3丢失xlive.dll的解决方法...
很多小伙伴在玩辐射3的时候,突然系统提示无法启动此程序,因为计算机中丢失xlive.dll.尝试重新安装此程序以解决此问题,这是怎么一回事呢?因为该文件的缺失或者没有注册导致的,具体的解决方法下面一起 ...
- linux e盘路径,Linux添加路径到PATH环境变量
Linux添加路径到PATH环境变量 一.PATH环境变量 PATH变量是Linux系统存储可执行文件搜索路径的地方,等价于Windows系统的Path变量,由于其他操作系统我没用过,不清楚详细情况 ...
- linux将目录路径加入环境变量中,如何添加路径到PATH环境变量
1.直接用export命令:#export PATH=$PATH:/opt/au1200_rm/build_tools/bin 命令解释: 设置环境变量 PATH 为 /usr/local/arm/3 ...
最新文章
- 阿里配管专家解读:如何最优成本搭建非标准的iOS构建集群
- 11.13. Highslide
- 【Matlab】你想知道在图表标题中显示变量的一切
- html viewer.app,HTML Viewer studio classroom
- hadoop的web ui的8088端口打不开一例
- SAP Fiori 1.0 Migrate to Fiori 2.0
- “入乡随俗,服务为主” 发明者量化兼容麦语言啦!
- Rekit Studio简介:用于React和Redux开发的真实IDE
- k均值的损失函数_K-Means算法的实现
- android thread 用法,我们如何在Android中使用runOnUiThread?
- 小D课堂 - 新版本微服务springcloud+Docker教程_3-07 Eureka服务注册中心配置控制台问题处理...
- 读完云原生数仓领导者Snowflake的论文,想要和你们分享这些……
- 二进制BIN文件比较工具,也适合用来对比解析BIN文件,发现数据存储规律,更改数据。
- win10 nas搭建_零成本搭建一个私人影视库,没有NAS一样可以把观影姿势做到完美...
- dp在约会上是什么意思_dp是什么意思网络术语 饭圈为什么喜欢用缩写
- 部分常见GIS专业英语词汇
- phpspider 简单使用
- 计算机专业论文指导教师评语,指导老师论文评语
- Codeforces Round #570 (Div. 3)B. Equalize Prices
- 图片文字转换为文本怎么做?图片转文本的简单方法介绍