代码拉取完成,页面将自动刷新
同步操作将从 宇润/PHP 环境一把梭安装工具集 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
#!/usr/bin/env php
<?php
function getReleases()
{
static $maxRetry = 3;
$retryCount = 0;
do {
if($retryCount > 0)
{
echo '请求版本列表失败,重试第 ', $retryCount, ' 次', PHP_EOL;
sleep(1);
}
$content = @file_get_contents('https://api.github.com/repos/swoole/swoole-src/releases', false, stream_context_create([
'http'=>[
'method' => 'GET',
'header' => <<<HEADER
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/82.0.4051.0 Safari/537.36
HEADER
],
'ssl' => [
'verify_peer' => false,
'verify_peer_name' => false,
]
]));
if($content)
{
break;
}
++$retryCount;
} while($retryCount <= $maxRetry);
return json_decode($content, true);
}
$releases = getReleases();
if($releases)
{
echo "\033[32mSwoole 最新发布的 5 个版本:\033[0m", PHP_EOL;
for($i = 0; $i < 5; ++$i)
{
if(!isset($releases[$i]))
{
break;
}
echo $releases[$i]['name'], PHP_EOL;
}
}
else
{
echo "\033[31mError: 获取 Swoole 最新版本失败\033[0m", PHP_EOL;
}
// echo PHP_EOL, "\033[32m请输入您想要安装的版本(不用带v开头,如果直接回车,则安装最新的版本):\033[0m";
// $input = trim(fgets(STDIN));
// if('' === $input)
// {
// if(!isset($releases[0]))
// {
// echo "\033[31mError: 获取 Swoole 最新版本失败\033[0m", PHP_EOL;
// exit;
// }
// $version = $releases[0]['name'];
// }
// else
// {
// $version = 'v' . $input;
// }
// $downloadUrl = 'https://github.com/swoole/swoole-src/archive/' . $version . '.tar.gz';
// $savePath = __DIR__ . '/swoole.tar.gz';
// $downloadScript = <<<SCRIPT
// if (type wget >/dev/null 2>&1); then
// echo "\033[32m正在使用 wget 下载 Swoole {$version}...\033[0m"
// wget -O {$savePath} {$downloadUrl}
// elif (type curl >/dev/null 2>&1); then
// echo "\033[32m正在使用 curl 下载 Swoole {$version}...\033[0m"
// curl -o {$savePath} {$downloadUrl}
// else
// echo "\033[31mError: 没有找到 wget / curl\033[0m"
// exit 1
// fi
// tar -xzf {$savePath}
// rm {$savePath}
// SCRIPT;
// echo `{$downloadScript}`;
// $compilePath = __DIR__ . '/swoole-src-' . substr($version, 1);
// if(!is_dir($compilePath))
// {
// echo "\033[31mError: 下载或解压失败\033[0m", PHP_EOL;
// exit;
// }
// $installScript = <<<SCRIPT
// cd {$compilePath}
// phpize
// ./configure
// SCRIPT;
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。