今日需要做一个在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动态链接库搜索路径小结相关推荐

  1. 没有MsVCp140如何安装MysQl,win10中msvcp140.dll文件如何安装_win10电脑缺少msvcp140.dll文件的安装教程...

    有不少win10系统用户在电脑中运行软件或者程序的时候,反映说会遇到msvcp140.dll文件缺少或丢失的情况,解决方法很简单,只需要安装msvcp140.dll文件即可,那么win10中msvcp ...

  2. gcc指定头文件搜索路径及动态链接库搜索路径

    一.#include <>与#include "" #include <>直接到系统指定的某些目录中去找某些头文件. #include "&quo ...

  3. 关于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 ...

  4. vcruntime140.dll文件缺失,去哪下载vcruntime140.dll文件

    大家都知道电脑当中的一些系统文件是非常重要的,每一个大型的系统软件都包括了许许多多的系统文件,每个软件都有一个下载安装包,下载安装包当中有很多的文件都关系着软件的正常使用.假如某个软件当中的一些dll ...

  5. 提示由于找不到MSVCR120.dll文件,怎么修复呢?MSVCR120.dll是什么文件?

    打开游戏或者软件的时候,电脑提示由于找不到MSVCR120.dll文件,无法执行此代码是原因呢?其实就是电脑系统中的MSVCR120.dll文件丢失或者损坏了,MSVCR120.dll文件可以帮助系统 ...

  6. dll文件丢失怎么恢复,修复丢失dll的全部方法分享

    dll文件丢失怎么恢复?其实DLL 或称为动态链接库文件,是 Windows 操作系统中的重要文件之一,它包含了被应用程序或操作系统内部使用的函数和程序代码.当应用软件或系统内置应用启动时,会自动加载 ...

  7. 辐射3游戏登录是提示计算机丢失xlive.dll文件,玩辐射3提示丢失xlive.dll怎么办 辐射3丢失xlive.dll的解决方法...

    很多小伙伴在玩辐射3的时候,突然系统提示无法启动此程序,因为计算机中丢失xlive.dll.尝试重新安装此程序以解决此问题,这是怎么一回事呢?因为该文件的缺失或者没有注册导致的,具体的解决方法下面一起 ...

  8. linux e盘路径,Linux添加路径到PATH环境变量

    Linux添加路径到PATH环境变量 一.PATH环境变量 ​PATH变量是Linux系统存储可执行文件搜索路径的地方,等价于Windows系统的Path变量,由于其他操作系统我没用过,不清楚详细情况 ...

  9. linux将目录路径加入环境变量中,如何添加路径到PATH环境变量

    1.直接用export命令:#export PATH=$PATH:/opt/au1200_rm/build_tools/bin 命令解释: 设置环境变量 PATH 为 /usr/local/arm/3 ...

最新文章

  1. 阿里配管专家解读:如何最优成本搭建非标准的iOS构建集群
  2. 11.13. Highslide
  3. 【Matlab】你想知道在图表标题中显示变量的一切
  4. html viewer.app,HTML Viewer studio classroom
  5. hadoop的web ui的8088端口打不开一例
  6. SAP Fiori 1.0 Migrate to Fiori 2.0
  7. “入乡随俗,服务为主” 发明者量化兼容麦语言啦!
  8. Rekit Studio简介:用于React和Redux开发的真实IDE
  9. k均值的损失函数_K-Means算法的实现
  10. android thread 用法,我们如何在Android中使用runOnUiThread?
  11. 小D课堂 - 新版本微服务springcloud+Docker教程_3-07 Eureka服务注册中心配置控制台问题处理...
  12. 读完云原生数仓领导者Snowflake的论文,想要和你们分享这些……
  13. 二进制BIN文件比较工具,也适合用来对比解析BIN文件,发现数据存储规律,更改数据。
  14. win10 nas搭建_零成本搭建一个私人影视库,没有NAS一样可以把观影姿势做到完美...
  15. dp在约会上是什么意思_dp是什么意思网络术语 饭圈为什么喜欢用缩写
  16. 部分常见GIS专业英语词汇
  17. phpspider 简单使用
  18. 计算机专业论文指导教师评语,指导老师论文评语
  19. Codeforces Round #570 (Div. 3)B. Equalize Prices
  20. 图片文字转换为文本怎么做?图片转文本的简单方法介绍

热门文章

  1. 如何选择合适的大数据分析平台的类型
  2. arch linux u盘安装,安装 ArchLinux 到U盘(四)安装Archlinux
  3. 美赛整理之偏微分方程的数值求解(一)
  4. linux汇编指令输出到屏幕,Linux 汇编语言(GNU GAS汇编)开发指南
  5. jenkins 手动执行_Jenkins环境配置篇-节点增加
  6. 计算机一级和答案,全国计算机一级操作题及答案
  7. Hue由于主备NameNode切换引发的问题
  8. HBase完全分布式搭建
  9. 自定义文件系统类加载器
  10. Promise 的 9 个提示