目前我有这个小脚本可以检查域名是否免费。它在浏览器中运行,当您键入 check.php?domain=xxxx.com 并查看它是否免费时。
由于使用了 $_GET,它只能在浏览器中使用,而不能在命令行中使用。
PHP 手册说我应该使用 $argv 或 getopt() 来实现这一点。我试过了,但后来我的脚本停止工作了。
如何使以下代码在命令行中运行?
<?php
include_once('/home/xxx/API.php');
$CClient = new XCApi();
$CClient->isAvailable();
$d = $_GET['domain'];
ob_implicit_flush(1);
for ($i = 0; $i < 60000; ++$i) {
$domainResult = $CClient->checkDomainAvailability( new XDomain( $d ) );
if ( $domainResult->getStatus() == "domain_available" ) {
echo $i . ". Domain " . $d . " is free (checked: " . date("Y-m-d H:i:s") . ")<br />";
$_GET['domain'] = $d;
include_once('Register.php');
exit;
}
elseif ( $domainResult->getStatus() == "domain_unavailable" ) {
echo $i . ". Domain " . $d . " is unavailable (checked: " . date("Y-m-d H:i:s") . ")<br />";
}
else {
echo $i . ". Domain " . $d . " is unknown (checked: " . date("Y-m-d H:i:s") . ")<br />";
}
echo"<pre>";
print_r($domainResult);
echo"</pre>";
}
?>
最佳答案
改变
$d = $_GET['domain'];
到:
$d = $argv[1];
...并像这样在命令行中调用它:
php /path/to/script.php "www.domaintocheck.com"
关于php - 替换 $_GET 以使其从命令行工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10472446/