[英]Execute Perl script on a remote server through SSH with PHP WebPage
[英]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上發布了此信息)
首先確保客戶端盒(運行Ruby)上設置了SSH私鑰: ssh-keygen
。
然后,確保所述專用密鑰的公用密鑰在遠程計算機上。 您需要使用以下名稱將其放在文件的末尾:
/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.