find the php binary in console
This commit is contained in:
parent
9748b48e59
commit
437cbd323d
@ -59,7 +59,7 @@ class UpdateAll extends Command
|
|||||||
|
|
||||||
$company_id = $this->argument('company');
|
$company_id = $this->argument('company');
|
||||||
|
|
||||||
$command = "php artisan update {$alias} {$company_id}";
|
$command = "update {$alias} {$company_id}";
|
||||||
|
|
||||||
if (true !== $result = Console::run($command, true)) {
|
if (true !== $result = Console::run($command, true)) {
|
||||||
$message = !empty($result) ? $result : trans('modules.errors.finish', ['module' => $alias]);
|
$message = !empty($result) ? $result : trans('modules.errors.finish', ['module' => $alias]);
|
||||||
|
@ -406,7 +406,7 @@ trait Modules
|
|||||||
|
|
||||||
Cache::forget('installed.' . $company_id . '.module');
|
Cache::forget('installed.' . $company_id . '.module');
|
||||||
|
|
||||||
Console::run("php artisan module:install {$module->alias} {$company_id} {$locale}");
|
Console::run("module:install {$module->alias} {$company_id} {$locale}");
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'success' => true,
|
'success' => true,
|
||||||
|
@ -2,12 +2,15 @@
|
|||||||
|
|
||||||
namespace App\Utilities;
|
namespace App\Utilities;
|
||||||
|
|
||||||
|
use Symfony\Component\Process\PhpExecutableFinder;
|
||||||
use Symfony\Component\Process\Process;
|
use Symfony\Component\Process\Process;
|
||||||
|
|
||||||
class Console
|
class Console
|
||||||
{
|
{
|
||||||
public static function run($command, $all_output = false, $timeout = 0)
|
public static function run($string, $all_output = false, $timeout = 0)
|
||||||
{
|
{
|
||||||
|
$command = static::formatCommandString($string);
|
||||||
|
|
||||||
$process = Process::fromShellCommandline($command, base_path());
|
$process = Process::fromShellCommandline($command, base_path());
|
||||||
$process->setTimeout($timeout);
|
$process->setTimeout($timeout);
|
||||||
|
|
||||||
@ -19,4 +22,19 @@ class Console
|
|||||||
|
|
||||||
return $all_output ? $process->getOutput() : $process->getErrorOutput();
|
return $all_output ? $process->getOutput() : $process->getErrorOutput();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static function getPhpBinary()
|
||||||
|
{
|
||||||
|
return (new PhpExecutableFinder)->find(false) ?? 'php';
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function getArtisanBinary()
|
||||||
|
{
|
||||||
|
return defined('ARTISAN_BINARY') ? ARTISAN_BINARY : 'artisan';
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function formatCommandString($string)
|
||||||
|
{
|
||||||
|
return sprintf('%s %s %s', static::getPhpBinary(), static::getArtisanBinary(), $string);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -116,7 +116,7 @@ class Installer
|
|||||||
$requirements[] = trans('install.requirements.directory', ['directory' => 'storage/logs']);
|
$requirements[] = trans('install.requirements.directory', ['directory' => 'storage/logs']);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Console::run('php artisan help') !== true) {
|
if (Console::run('help') !== true) {
|
||||||
$requirements[] = trans('install.requirements.executable');
|
$requirements[] = trans('install.requirements.executable');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -135,7 +135,7 @@ class Updater
|
|||||||
}
|
}
|
||||||
|
|
||||||
foreach ($companies as $company) {
|
foreach ($companies as $company) {
|
||||||
$command = "php artisan update:finish {$alias} {$company} {$new} {$old}";
|
$command = "update:finish {$alias} {$company} {$new} {$old}";
|
||||||
|
|
||||||
if (true !== $result = Console::run($command)) {
|
if (true !== $result = Console::run($command)) {
|
||||||
$message = !empty($result) ? $result : trans('modules.errors.finish', ['module' => $alias]);
|
$message = !empty($result) ? $result : trans('modules.errors.finish', ['module' => $alias]);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user