我在远程服务器上使用Laravel 4.2,我想执行Laravel命令php artisan migrate
,但我不知道如何。
答案 0 :(得分:2)
您可以ssh到服务器并执行命令,您可以将服务器公钥添加到远程服务器,以便在没有密码的情况下执行此操作。我使用以下代码创建了一个bash脚本,然后我可以通过命令行或程序手动执行,假设我用以下代码将其命名为myscript.sh
ssh root@127.0.0.1 << 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',它将在远程服务器上运行迁移。
答案 1 :(得分:0)
您可以像这样设置一个cronjob:
* * * * * /usr/bin/php /var/www/app/artisan schedule:run
这将每分钟运行并运行迁移。
您可以将其更改为您想要的所有内容。
如果你想打开一个url什么,而不是命令。
使用此代码:
Artisan::call('migrate');
希望这有效!
答案 2 :(得分:0)
为了本文的完整性,您使用PS远程(首先启用)然后使用Windows主机执行此操作...
$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发布部署中使用它。
答案 3 :(得分:-1)
这个问题的解决方案可以运行一次php代码(在服务器上),如下所示:
<?php
// installation.php file
echo exec('php /var/www/laravel-app/artisan migrate:install');
并且您需要在浏览器中访问installation.php
迁移后,您应该删除安装文件,以便没有人可以再次执行