Я использую Laravel 4.2 на удаленном сервере и хочу выполнять команды Laravel php artisan migrate
но я не знаю как.
Вы можете подключиться к серверу по ssh и выполнить команду, добавить удаленный ключ сервера на удаленный сервер, чтобы сделать это без пароля. Я сделал скрипт bash со следующим кодом, который затем могу выполнить вручную через командную строку или из программы, скажем, я называю это myscript.sh со следующим кодом
ssh [email protected] << EOF
cd /var/www/app/;
php artisan migrate --force; // force prevents artisan from asking for a yes/no on production
exit;
EOF
Теперь я могу написать ‘sh myscript.sh’, и он запустит миграцию на удаленном сервере.
Вы можете настроить cronjob следующим образом:
* * * * * /usr/bin/php /var/www/app/artisan schedule:run
Это будет запускаться каждую минуту и запускать миграцию.
Вы можете изменить это на все, что вы хотите.
Если вы хотите, чтобы открыть URL-адрес, что в то время как выполнение команды.
Используйте этот код:
Artisan::call('migrate');
Надеюсь, это работает!
Для полноты этой статьи вы делаете это на хосте Windows, используя PS remote (сначала включите), а затем …
$Username = "{domain}\{domain account}"$PasswordSS = ConvertTo-SecureString '{domain account password}' -AsPlainText -Force
$Cred = New-Object System.management.Automation.PSCredential $Username,$PasswordSS
Invoke-Command -ComputerName {server name} -ScriptBlock { cd d:\wwwroot\{website};php artisan migrate } -Credential $Cred
Это вернет результат на ваш локальный компьютер.
Я использую это во всех версиях VSTS.
Решением этой проблемы может быть запуск кода PHP (на сервере) следующим образом:
<?php
// installation.php file
echo exec('php /var/www/laravel-app/artisan migrate:install');
и чем вам нужно посетить installation.php
в вашем браузере.
После миграции вы должны удалить установочный файл, чтобы никто не мог выполнить его снова