Кто может помочь с PHP

Как я могу в Windows сделать авто установку сервера через web php типа
Нажимаю установить у меня качаются файлы потом выдаётся id (srv_id1) папке сервера после распаковываются в данную папку потом переименовываются файлы php.exe в php_id1.exe потом создаётся bat для запуска у которого прописан код запуска не php.exe а php_id1.exe и желательно передавать запрос в POST или GET

Просто не как не могу сделать систему ID серверов вот код для одного сервера

<?php

    $filename = "config.json";
	$folder = "srv";
	$disk = "E:";
	
	if(!(file_exists($filename))) {
		
		shell_exec("curl (качаю config url) --output {$filename}");
		
	}
   
    $file_json = file_get_contents($filename);
    $array = json_decode($file_json, true);
	
	$key = $array['key'];
	
	$files = array();
	
	foreach(glob($disk . "/" . $folder . '/*.log') as $file) {
		$files[] = basename($file);	
	}
	
	$file_log = implode(" ", $files);
	
	if(isset($_POST['key'])){
		if($_POST['key'] == $key){
			
			if(isset($_POST['hard_reboot'])){
				if($_POST['hard_reboot'] == true){
					
					shell_exec("shutdown /r /t 0");
					echo("Ok");
					
					unlink($filename);
					unlink($disk . "/" . $folder . "/" . $file_log);
				
				}
			
			}
			
			if(isset($_POST['stop'])){
				if($_POST['stop'] == true){
					
					shell_exec("script\stop.bat");
					echo("Ok");
					
					unlink($filename);
					unlink($disk . "/" . $folder . "/" . $file_log);
				
				}
			
			}
			
			if(isset($_POST['start'])){
				if($_POST['start'] == true){
					
					shell_exec("script\start.vbs");
					echo("Ok");
					
					unlink($filename);
				
				}
			
			}
			
			if(isset($_POST['restart'])){
				if($_POST['restart'] == true){
					
					shell_exec("script\stop.bat");
					shell_exec("script\start.vbs");
					echo("Ok");
					
					unlink($filename);
				
				}
			
			}
			
			if(isset($_POST['info'])){
				if($_POST['info'] == true){
					
					if(PHP_OS == "WINNT"){
						
						$os = "Windows";
						$ico = "Иконка системы - url";
					
					} else {
						
						$ico = "Иконка что нет системы - url";
						$os = "None";		
					
					}
					
					$ip = file_get_contents("http://ifconfig.me/ip");
					$org = json_decode(file_get_contents("http://ip-api.com/json/" . $ip), true)['isp'];
					$disk = disk_free_space($disk);
					$format = array('Bytes','KB','MB','GB','TB','PB');
					$info_disk = round($disk/pow(1024,($x=floor(log($disk,1024)))),2).' '.$format[$x];
					
					$array = array(
					    'os' => $os, 
						'ip' => $ip, 
						'disk' => $info_disk,
						'org' => $org,
						'ico' => $ico,
						'status' => "ok",
					);
					
					$json = json_encode($array);
					
					echo $json;
				
				}
				
			}
			
			if(isset($_POST['log'])){
				if($_POST['log'] == true){
					if(!($disk . "/" . $folder . "/" . $file_log == $disk . "/" . $folder . "/")){
						
						$get = array();
						$file = $disk . "/" . $folder . "/" . $file_log;
						$get = file($file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
						
						foreach($get as $line_num => $line){
							echo $line, "\n";
						}
					
					} else {
						
						echo("Извините мы не можем отобразить логи поскольку у вас нет данных в файле или же ваш сервер не отвечает");
					
					}
				
				}
			}
			
			
		}
	}

?>

Файл - Stop.bat

@echo off
taskkill /f /im php_srv.exe
exit

Файл - Start.vbs

Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "cmd.exe /c start E:\srv\start.bat", 0, false

Я хочу просто чтобы при заходе на index.php делался сервер с случайным ID и сам запускался

Иди убейся

1 лайк

ерунда

через python ито лучше будет

Знаю но мне нужно чтобы работала без установки программ

для кого чатжипити

ChatGPTbot: Здравствуйте! Вы подключились к ChatGPT разработки компании OpenAI. Пожалуйста, напишите ваш первый вопрос.

Вы: Как я могу в Windows сделать авто установку сервера через web php типа
Нажимаю установить у меня качаются файлы потом выдаётся id (srv_id1) папке сервера после распаковываются в данную папку потом переименовываются файлы php.exe в php_id1.exe потом создаётся bat для запуска у которого прописан код запуска не php.exe а php_id1.exe и желательно передавать запрос в POST или GET

ChatGPT: Для автоматической установки сервера через web php в Windows, вы можете использовать следующий алгоритм:

  1. Создайте страницу установки на PHP, где пользователь может выбрать опции для установки сервера и нажать кнопку “Установить”.
  2. На сервере создайте папку для каждого установленного сервера с уникальным идентификатором (например, srv_id1, srv_id2 и т.д.).
  3. При нажатии кнопки “Установить” на странице установки, PHP-скрипт должен скачать необходимые файлы для сервера и сохранить их в папке с соответствующим идентификатором.
  4. После загрузки файлов, PHP-скрипт должен переименовать файлы php.exe в php_id1.exe и т.д. в каждой папке сервера.
  5. Затем PHP-скрипт должен создать файл запуска сервера (например, start.bat) в каждой папке сервера с командой запуска php_id1.exe и передачей запроса в POST или GET.
  6. После создания файла запуска, PHP-скрипт должен вернуть пользователю уникальный идентификатор сервера (например, srv_id1).
  7. Пользователь может использовать этот идентификатор для запуска сервера, например, перейдя по ссылке http://localhost/srv_id1/start.bat.

Этот алгоритм может быть реализован с использованием функций PHP для загрузки файлов, переименования файлов и создания файлов. Также необходимо обеспечить безопасность при передаче запроса в POST или GET, чтобы предотвратить возможность взлома сервера.

Я пытался сделать у меня всё работает но как мне в start.bat передать id или же получить все файлы типа *.exe

гугли