change lock file at ROOT_PATH

This commit is contained in:
xiaomlove
2022-04-25 02:30:15 +08:00
parent a47b33a983
commit da2f19b88f
4 changed files with 14 additions and 8 deletions

View File

@@ -37,11 +37,14 @@ class Install
['name' => 'swoole', 'desc' => "If use swoole for Octane, make sure 'current' shows 1"],
];
protected string $lockFile = 'install.lock';
public function __construct()
{
if (!session_id()) {
session_start();
}
$this->checkLock();
$this->currentStep = min(intval($_REQUEST['step'] ?? 1) ?: 1, count($this->steps) + 1);
}
@@ -639,16 +642,19 @@ class Install
return compact('version', 'match');
}
public function checkLock($path)
public function checkLock()
{
if (file_exists("$path/.lock")) {
$fullFilename = ROOT_PATH . $this->lockFile;
if (file_exists($fullFilename)) {
die("Locked! Delete .lock file first");
}
}
public function setLock($path)
public function setLock()
{
file_put_contents("$path/.lock", "Lock at: " . date('Y-m-d H:i:s'));
$fullFilename = ROOT_PATH . $this->lockFile;
$res = file_put_contents($fullFilename, "Lock at: " . date('Y-m-d H:i:s'));
$this->doLog("set lock at: $fullFilename, result: " . var_export($res, true));
}
}

View File

@@ -29,6 +29,8 @@ class Update extends Install
protected $steps = ['Env check', 'Get files', 'Update .env', 'Perform updates'];
protected string $lockFile = 'update.lock';
public function getLogFile()
{

View File

@@ -5,7 +5,6 @@ require ROOT_PATH . 'nexus/Install/install_update_start.php';
$isPost = $_SERVER['REQUEST_METHOD'] == 'POST';
$install = new \Nexus\Install\Install();
$install->checkLock(__DIR__);
$currentStep = $install->currentStep();
$maxStep = $install->maxStep();
if (!$install->canAccessStep($currentStep)) {
@@ -192,7 +191,7 @@ if (!empty($error) || (isset($mysqlInfo) && !$mysqlInfo['match'])) {
echo '<div class="mb-6">For questions, consult the installation log at: <code>' . $install->getLogFile() . '</code></div>';
echo '<div class="text-red-500">For security reasons, please delete the following directories</div>';
echo '<div class="text-red-500"><code>' . $install->getInsallDirectory() . '</code></div>';
$install->setLock(__DIR__);
$install->setLock();
}
echo'</div>';

View File

@@ -5,7 +5,6 @@ require ROOT_PATH . 'nexus/Install/install_update_start.php';
$isPost = $_SERVER['REQUEST_METHOD'] == 'POST';
$update = new \Nexus\Install\Update();
$update->checkLock(__DIR__);
$currentStep = $update->currentStep();
$maxStep = $update->maxStep();
if (!$update->canAccessStep($currentStep)) {
@@ -230,7 +229,7 @@ if (!empty($error) || (isset($mysqlInfo) && !$mysqlInfo['match'])) {
echo '<div class="mb-6">For questions, consult the upgrade log at: <code>' . $update->getLogFile() . '</code></div>';
echo '<div class="text-red-500">For security reasons, please delete the following directories</div>';
echo '<div class="text-red-500"><code>' . $update->getUpdateDirectory() . '</code></div>';
$update->setLock(__DIR__);
$update->setLock();
}
echo'</div>';