我有疑问是否有可能。
我已按照设置进行操作:
服务器上的服务器,带有php Horticultural文件的服务器上有php功能。现在我想在我的本地网络服务器上加载,然后调用函数
SERVER: API.php
<?php
function random_password() {
$alphabet = "abcdefghijklmnopqrstuwxyzABCDEFGHIJKLMNOPQRSTUWXYZ0123456789";
$pass = array(); //remember to declare $pass as an array
$alpha_length = strlen($alphabet) - 1; //put the length -1 in cache
for ($i = 0; $i < 8; $i++) {
$n = rand(0, $alpha_length);
$pass[] = $alphabet[$n];
}
return implode($pass); //turn the array into a string
}
?>
本地: test_locaal.php
<?php
include "http://***api.new*******.nl/API.php";
print_r(random_password());
?>
我收到以下错误
致命错误:在第5行的E:\ Webserver \ root \ API \ test_online.php中调用未定义的函数random_password()
答案 0 :(得分:0)
你所做的是通过http包含php文件。这导致PHP执行php代码并返回结果。但是你的api php文件没有返回任何输出。
您可能想要做的是通过网址将您的API称为服务。您的API应作为服务器运行,接受请求并回复响应。
网上有很多关于如何实现这一目标的教程,并且还有相当多的库和框架。
为了保持简单,你可以做另外的事情。构建您的api,只需调用提供所需输出的文件即可。即:
<强> API / random_password.php 强>
<?php
$alphabet = "abcdefghijklmnopqrstuwxyzABCDEFGHIJKLMNOPQRSTUWXYZ0123456789";
$pass = array(); //remember to declare $pass as an array
$alpha_length = strlen($alphabet) - 1; //put the length -1 in cache
for ($i = 0; $i < 8; $i++) {
$n = rand(0, $alpha_length);
$pass[] = $alphabet[$n];
}
echo json_encode(implode($pass)); //turn the array into a string and output it
local:test_locaal.php
<?php
$randomPassword = file_get_contents("http://***api.new*******.nl/api/random_password.php");
print_r($randomPassword);