簡體   English   中英

如何通過Capistrano 2 Deployment ruby​​腳本在SSH服務器上執行php腳本

[英]How to execute a php script on ssh server through a capistrano 2 deploy ruby script

我需要從capistrano 2部署腳本在部署服務器上執行php腳本,並且需要獲取變量中的輸出。 我正在嘗試遵循用於在ruby中執行shell的命令

result =%x[php -q #{myDeployPath}/myfile.php]

我收到“無法打開文件”錯誤,這是因為它試圖從所需服務器上的本地服務器上運行此php。我能夠在部署服務器上執行常規的“運行”命令,但具有不知道在變量“結果”中獲取輸出。

我可以通過以下命令在serevr上執行此php,但無法在腳本中捕獲輸出。

 run "php -q #{myDeployPath}/myfile.php"

請幫助..謝謝!

這個怎么樣:

result =%x[ssh username@remote.server php -q #{myDeployPath}/myfile.php]

有關設置SSH使其實現這一點的一些信息(我在https://unix.stackexchange.com/questions/112087/broadcast-or-send-machine-可讀-code-to-ssh-clients / 112093#112093上發布了此信息)

第1步

首先確保客戶端盒(運行Ruby)上設置了SSH私鑰: ssh-keygen

第2步

然后,確保所述專用密鑰的公用密鑰在遠程計算機上。 您需要使用以下名稱將其放在文件的末尾:

 /home/${user}/.ssh/authorized_keys

$ {user}是功能更強大的計算機上的用戶名。

另外,請確保在功能強大的計算機上,/ /home/${user}/.ssh/具有權限700( drwx------ ),並且/home/${user}/.ssh/authorized_keys具有權限600 ( -rw------- )。 使用chmod設置權限:

$ chmod 700 /home/${user}/.ssh/
$ chmod 600 /home/${user}/.ssh/authorized_keys

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM