1

そのため、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_exec('/var/cpanel/userdata/account/mdssl clone domain.com user.domain.com');

それとも、exec コマンドが必要ですか? そして、オープニングラインは何か違うべきですか?PHPを使用してその行をタップし、「ユーザー」フィールドをそれに渡し、スクリプトにSSLのセットアップを複製させて、ワイルドカード機能が適切に機能し、ユーザーアカウントが適切なディレクトリに配置されるようにするだけです.

どんな洞察も大歓迎です!:)

どうもありがとうございました。

4

1 に答える 1

0

exec()またはのみを使用しましたsystem()

それらは常にトリッキーで、期待どおりに動作しない傾向があります。

私はから始めます

ini_set("display_errors", 1);

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

var_dump($output);

出力の内容、または PHP エラーが発生しているかどうかを確認します。

また、現在のデフォルトのディレクトリからエスケープし、ユーザーが mdssl (またはシステムが使用するユーザー) にアクセスできる../ことを確認する必要がある場合もあります。apacheする必要があるかもしれませんsudo

于 2012-05-30T23:04:28.557 に答える