Merhaba,
Localden veya herhangi bir sunucu üzerinden veritabanı ve tablo oluşturmaya çalışıyorum. Belirli bir kısma kadar geldim.
$connection = DB::connection('server2_mysql')->setDatabaseName('');
// Veritabanının olup olmadığını kontrol et
$databaseExists = $connection->select("SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = ?", [$databaseName]);
// Veritabanı yoksa oluştur
if (empty($databaseExists)) {
$sshHost = 'Server';
$sshPort = 'Port';
$sshUser = 'root';
// SSH bağlantısını kurun
$ssh = new SSH2($sshHost, $sshPort);
$privateKey = PublicKeyLoader::load(File::get(storage_path('server2_rsa')));
if (!$ssh->login($sshUser, $privateKey)) {
dd($ssh->getErrors());
} else {
dump('girdi');
}
$output = $ssh->exec("create_db {$databaseName} {$username} {$password}");
dd($output);
} else {
echo "Veritabanı zaten mevcut.";
}
Araya bir bash sc yazdım. Root kullanıcı ile bunu çalıştırdığımda plesk altında veritabanı ve kullanıcıları oluşuyor. Fakat dışarıdan bunu tetiklemek istiyorum. Ne yapabilirim ?
Paket olarak phpseclib3\Net\SSH2 bunu önerdiler SSH üzerinden deneme yapmak adına.