簡體   English   中英

使用PHP正確執行ssh /命令行

[英]Using PHP to execute ssh/command line properly

因此,關於從php運行的ssh /命令行,我需要一些幫助。

出門在外-是的,在服務器上啟用了exec-它是我們自己的專用框

設置。 我創建了一個腳本,該腳本使用cpanel的api為特定帳戶創建子域。 一切都很好,而且一切正常。 現在-我們也安裝了通配符SSL。

它的長短是這樣。 在當前情況下,如果您拉起https://user.domain.com ,則只會看到該帳戶的頂部根目錄,而不是該帳戶應位於的目錄。但是,如果不使用https就使用它-它會做什么這應該。 現在,它是一個帶有HostGator的專用盒子,他們為我安裝了此腳本,以完成需要做的事情-並且可以按預期工作。

安裝的HostGator腳本位於:/ var / cpanel / userdata / account / mdssl

因此,他們給了我運行腳本並執行應做的工作的行如下:

./mdssl克隆domain.com user.domain.com

所以我的問題是-因為我從未真正使用過php內部的shell東西,所以下面的代碼行將成為如何執行腳本的可行示例嗎?

shell_exec('/ var / cpanel / userdata / account / mdssl clone domain.com user.domain.com');

還是我只需要exec命令? 開幕線應該有什么不同嗎? 我只需要使用php輕敲該行,並將'user'字段傳遞給它,並讓腳本執行其操作以克隆SSL的設置,以便通配符功能正常運行,並且用戶帳戶將落在應有的正確目錄中。

任何見解表示贊賞! :)

非常感謝你。

我只用了exec()system()

他們總是很棘手,並且往往表現得不如預期。

我將從開始

ini_set("display_errors", 1);

exec('/var/cpanel/userdata/account/mdssl clone domain.com user.domain.com', $output);

var_dump($output);

查看輸出內容或是否發生PHP錯誤。

您可能還需要退出../默認目錄的當前目錄,並確保apache用戶有權訪問mdssl(或系統使用的任何用戶)。 您可能需要對其進行sudo

暫無
暫無

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

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