mirror of
https://github.com/lkddi/nexusphp.git
synced 2026-04-24 03:57:22 +08:00
change lock file at ROOT_PATH
This commit is contained in:
@@ -37,11 +37,14 @@ class Install
|
|||||||
['name' => 'swoole', 'desc' => "If use swoole for Octane, make sure 'current' shows 1"],
|
['name' => 'swoole', 'desc' => "If use swoole for Octane, make sure 'current' shows 1"],
|
||||||
];
|
];
|
||||||
|
|
||||||
|
protected string $lockFile = 'install.lock';
|
||||||
|
|
||||||
public function __construct()
|
public function __construct()
|
||||||
{
|
{
|
||||||
if (!session_id()) {
|
if (!session_id()) {
|
||||||
session_start();
|
session_start();
|
||||||
}
|
}
|
||||||
|
$this->checkLock();
|
||||||
$this->currentStep = min(intval($_REQUEST['step'] ?? 1) ?: 1, count($this->steps) + 1);
|
$this->currentStep = min(intval($_REQUEST['step'] ?? 1) ?: 1, count($this->steps) + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -639,16 +642,19 @@ class Install
|
|||||||
return compact('version', 'match');
|
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");
|
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));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,6 +29,8 @@ class Update extends Install
|
|||||||
|
|
||||||
protected $steps = ['Env check', 'Get files', 'Update .env', 'Perform updates'];
|
protected $steps = ['Env check', 'Get files', 'Update .env', 'Perform updates'];
|
||||||
|
|
||||||
|
protected string $lockFile = 'update.lock';
|
||||||
|
|
||||||
|
|
||||||
public function getLogFile()
|
public function getLogFile()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ require ROOT_PATH . 'nexus/Install/install_update_start.php';
|
|||||||
|
|
||||||
$isPost = $_SERVER['REQUEST_METHOD'] == 'POST';
|
$isPost = $_SERVER['REQUEST_METHOD'] == 'POST';
|
||||||
$install = new \Nexus\Install\Install();
|
$install = new \Nexus\Install\Install();
|
||||||
$install->checkLock(__DIR__);
|
|
||||||
$currentStep = $install->currentStep();
|
$currentStep = $install->currentStep();
|
||||||
$maxStep = $install->maxStep();
|
$maxStep = $install->maxStep();
|
||||||
if (!$install->canAccessStep($currentStep)) {
|
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="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">For security reasons, please delete the following directories</div>';
|
||||||
echo '<div class="text-red-500"><code>' . $install->getInsallDirectory() . '</code></div>';
|
echo '<div class="text-red-500"><code>' . $install->getInsallDirectory() . '</code></div>';
|
||||||
$install->setLock(__DIR__);
|
$install->setLock();
|
||||||
}
|
}
|
||||||
echo'</div>';
|
echo'</div>';
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ require ROOT_PATH . 'nexus/Install/install_update_start.php';
|
|||||||
|
|
||||||
$isPost = $_SERVER['REQUEST_METHOD'] == 'POST';
|
$isPost = $_SERVER['REQUEST_METHOD'] == 'POST';
|
||||||
$update = new \Nexus\Install\Update();
|
$update = new \Nexus\Install\Update();
|
||||||
$update->checkLock(__DIR__);
|
|
||||||
$currentStep = $update->currentStep();
|
$currentStep = $update->currentStep();
|
||||||
$maxStep = $update->maxStep();
|
$maxStep = $update->maxStep();
|
||||||
if (!$update->canAccessStep($currentStep)) {
|
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="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">For security reasons, please delete the following directories</div>';
|
||||||
echo '<div class="text-red-500"><code>' . $update->getUpdateDirectory() . '</code></div>';
|
echo '<div class="text-red-500"><code>' . $update->getUpdateDirectory() . '</code></div>';
|
||||||
$update->setLock(__DIR__);
|
$update->setLock();
|
||||||
}
|
}
|
||||||
echo'</div>';
|
echo'</div>';
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user