PHP -如何包含php类文件并执行函数

pdtvr36n  于 2023-03-07  发布在  PHP
关注(0)|答案(4)|浏览(116)

我正在尝试使用PHP为亚马逊的AWS API创建一个签名请求。我对PHP不太熟悉,所以这个问题可能看起来非常明显,所以我很抱歉-
Amazon提供了用于生成签名请求以使用其API的示例代码-可在此处找到:
http://aws.amazon.com/code/AWIS/402
他们的指示很简单:

Run php urlinfo.php ACCESS_KEY_ID SECRET_ACCESS_KEY site

但是我不知道如何“运行”一个php文件,我的直觉是包含这个php文件,这样我就可以调用它的公共urlInfo函数:

UrlInfo($accessKeyId, $secretAccessKey, $site)

但如果我把它包括进去

<?php require_once ('urlinfo.php'); ?>

该页自动生成消息:

Usage: ACCESS_KEY_ID SECRET_ACCESS_KEY site

那么我如何从我的索引文件中调用这个php文件并传递它所需要的参数呢?

ddhy6vgd

ddhy6vgd1#

urlinfo.php脚本旨在通过PHP命令行界面运行,并且需要通过cli传递参数。
如果删除代码的以下部分:

if (count($argv) < 4) {
    echo "Usage: $argv[0] ACCESS_KEY_ID SECRET_ACCESS_KEY site\n";
    exit(-1);
}
else {
    $accessKeyId = $argv[1];
    $secretAccessKey = $argv[2];
    $site = $argv[3];
}

然后执行以下操作:

$accessKeyId = "youkeyid";
$secretAccessKey = "yoursecret"; 
$site = "yoursite";

include('urlinfo.php');

它会像预期的那样工作。

s2j5cfk0

s2j5cfk02#

删除urlinfo.php文件底部的以下代码。

if (count($argv) < 4) {
    echo "Usage: $argv[0] ACCESS_KEY_ID SECRET_ACCESS_KEY site\n";
    exit(-1);
}
else {
    $accessKeyId = $argv[1];
    $secretAccessKey = $argv[2];
    $site = $argv[3];
}

$urlInfo = new UrlInfo($accessKeyId, $secretAccessKey, $site);
$urlInfo->getUrlInfo();

然后你可以使用下面的代码来生成你需要的urlinfo。

$urlInfo = new UrlInfo($accessKeyId, $secretAccessKey, $site);
$urlInfo->getUrlInfo();
rqqzpn5f

rqqzpn5f3#

假设您有unix命令行:
在命令行中键入“which php”,查看您的shell是否知道php bin文件的位置。如果获得路径,请键入运行该文件的路径,后跟参数ACCESS_KEY_ID SECRET_ACCESS_KEY site
示例:/usr/local/bin/php网址/登录密码

pgx2nnw8

pgx2nnw84#

运行该文件的说明意味着您应该在命令提示符中键入该命令。
示例代码的意思就是一个示例,因此,他们试图让你不用把它放到网络服务器上就可以运行它,相反,你可以直接在上面运行php。
如果您想在Web服务器上运行它,则需要重写示例。

相关问题