如何使用 vba/vbs 调用 php(存储在服务器上)

How to call php (stored on a server) using vba/vbs

我想使用 vba 或 vbs 调用 php。 php 文件存储在服务器上。

如果 php 文件存储在本地,我可以做到:

Sub asasdsad
    Call Shell("C:\xampp\php\php.exe C:\path\file.php", 1)
End Sub

这会调用 php 为我执行代码。我的问题是,我要调用的 .php 文件存储在服务器上,我当然有用户名和密码。将文件复制到本地目录不是一种选择,因为它有很多包含。

我的想法是使用PuTTY连接到服务器,并用它来执行上面的命令,全部来自cmd using vba/vbs。

UserName = "un"
Passwrd = "pw"
'this would need additional parameters at the end to call php.exe like above
Call Shell("""C:\Program Files (x86)\PuTTY\putty.exe"" " & "-ssh " & UserName & "@ip address -pw " & Passwrd, 1) 

正如您想象的那样,会有很多参数,所以它变得很复杂,永远不确定这是否可行。我从未使用过 PuTTY,所有这些对我来说都是全新的。我确定有更好的方法吗?

首先,不要使用PuTTY,使用Plink (PuTTY connection tool)。它是专为自动化而设计的控制台应用程序(与 PuTTY 相反,什么是 GUI 应用程序,专为交互式使用而设计)。

Plink(再次与 PuTTY 相反)可以接受要在其命令行上执行的命令(它具有与 OpenSSH ssh 类似的命令行语法):

"C:\...\plink.exe" -ssh username@ip_address -pw password /path/to/php /path/to/script.php