問題タブ [shell-exec]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - php shell_exec: あるユーザーから別のユーザーにディレクトリをコピーする方法 (CentOs5 上の VPS)
CentOS5 + DirectAdminで実行中。
私は VPS を所有していますが、セキュリティ上の理由から、すべての管理を「リセラー」ユーザーのみに任せたいと考えています。
再販業者のユーザーには、再販業者の DA に接続してユーザーを作成するスクリプトがあります。
私の問題は - ' resellers user ' ftp、例にある ~ 10000 のファイルを含むディレクトリ ツリーをコピーする方法です。/domains/hoster.dom.com/public_html/dir_to_be_copied
私が知っているパスワードとユーザー名を新しく作成したユーザーに。
私が理解しているように、「shell_exec()」コマンドを介して内部サーバーアクションとしてこれを行うことができるはずです。
また、別のユーザー FTP にログインしてそのファイルを操作するコマンドは何ですか。また、2 人の FTP ユーザーに同時に接続して、相互にコピーすることは可能ですか。
- このロギングを「root」ユーザーとして実行することが推奨されることは承知していますが、「root」ユーザーにアクセスしなくても可能かもしれません。
ありがとう。
php - PHP から MySQL 実行可能ファイルを自動的に見つけることはできますか?
MYSQL データベースにダンプをインポートするには、Shell_exec を実行する必要があります。今日、私はこれを行います:
$shellExec = 'C:\wamp\bin\mysql\mysql5.1.36\bin\mysql -h localhost -u root mertero_decicare < D:\localhost\sql\decisions.sql';
$out = shell_exec($shellExec .' 2> 出力');
これは機能します。しかし、PHP から mysql 実行可能ファイルの場所を「見つける」方法はありますか? mysqlの場所をハードコードする必要はありませんか?
ロン
php - PHPのshell_exec()は私の特定のコマンドを実行しません
私は現在、WKHTMLTOPDFコマンドラインアプリを使用してPDFドキュメントを生成するクラスをPHPで構築しています。
これを行うために、shell_execの呼び出しを使用してWKHTMLTOPDF実行可能ファイルを呼び出しています。ただし、この特定の呼び出しは実行されていないようです。ほぼ瞬時にNULLを返します。
私が行った小さなテストでは、次の結果が得られました。
したがって、shell_exec()
動作しているようで、オフになっていsafe_mode
ます。コマンド全体をcmd.exeに貼り付けると、コマンドが正しく実行されます。
問題が上記のいずれにも当てはまらない場合(セーフモード、コマンドの誤り、またはshell_exec()
それ自体)、他に何ができるでしょうか。私が考えることができるのはユーザー権限の問題だけですが、実行可能ファイルとそれが含まれるディレクトリの両方に、システム上のすべてのユーザーグループのフルアクセス設定があります。
(注:私はWindowsマシンで開発していますが、このコードは本番環境のLinuxサーバーで実行されます。したがって、もちろんこの問題自体が関連していることが判明しない限り、Windowsのみのソリューションは私が探しているものではありません。 Windowsへ)
php - PHP shell_exec() の動作が長すぎるか、実行されたプログラムがハングした場合...エラーをキャッチする方法は?
外部プログラム (unix) で実行しshell_exec()
、30 秒以上動作すると、PHP は致命的なエラーで終了します。これは、外部プログラムがハング/クラッシュしたか、わからないためです。
このエラーをキャッチしたい。try{}..catch{}
ここでは機能しません。外部プログラムがハングしたかどうかを確認するにはどうすればよいですか? 通常、私の外部プログラムは 2 秒未満で実行されます。
php - PHPからPerlスクリプトを実行する際の問題
これを理解しようとしています。次のようにshell_exec()を使用して、php内でperlスクリプトを実行しようとしています。
">"filename.txtを使用してファイルに出力を書き込むことはありません。エコーで確認できるので、ファイル名を指定せずに実行すると動作します。
これは">"の使用と関係がありますか?コマンドラインで同じperlスクリプトを実行してファイルに直接移動できるので、アクセス許可は問題ないはずです。これを実行するための提案はありますか?
「test.txt」の出力は入力として使用されます。
linux - CutyCapt Linux shell_exec
Ubuntu10.4サーバーでCutyCaptをセットアップしようとしています。
SSHで次のコマンドを使用してサムネイルを生成します。
...そしてそれはうまく機能しています!
ただし、shell_execを使用してPHPファイルから同じコマンド全体を実行すると、エラーが発生します。
/ usr / bin / xvfb-run:181:./CutyCapt:見つかりません
誰かが何が悪いのか考えていますか?
前もって感謝します
php - PHPのshell_execを使用すると、(rootである必要がある場合を除いて)何がパーミッションエラーを引き起こす可能性がありますか?
ルートでなくても実行できるbashスクリプトがあります。
しかし、私が次のようにshell_exec()
(またはsystem()
、、またはexec()
)を介して実行すると、次のようになります。
次のメッセージが表示されます。
sh:/home/tom/rrd/rrdtool-drawgraph.sh:許可が拒否されました
(不思議なことに、メッセージが繰り返されます。それが適切かどうかわかりませんか?編集:代わりにバッククォートを使用すると、メッセージが繰り返されないようですshell_exec
。図を参照してください。)
777ファイルのアクセス許可を使用してみました。所有者とグループをに変更してみましたwww-data
。出力を吐き出すディレクトリを、同じように許容できる権限を持つように変更しました。
それでも実行されません。
私が考えることができる唯一のことは、スクリプトが私のホームディレクトリにあるということです。これが問題である場合、私は驚かれることでしょう(私のWebルートも私のホームディレクトリにあるので)、しかし私は修正される準備ができています。これが問題である場合、ルート特権を必要とせずに修正できますか?
ホームディレクトリにいることとは関係がない場合、何が問題になりますか?そして、どうすれば修正できますか?
php - リモートホストで、PHP を使用して shell_exec() などのシェルコマンドを実行していますか?
リモート コンピューター (localhost ではない) でシェル コマンドを実行することはできますか? たとえば、次のようなもの
リモート マシンのユーザー アカウントのログイン資格情報と、リモート ルートのユーザー名、パスワード、および cpanel リモート アクセス キーを持っていると想定できます。
php - オーディオ/ビデオファイルの情報のクエリ
ファイルへのパスを受け取り、それに関する情報の配列を返すPHP関数が必要です。PHPファイルはFFmpegを呼び出すことができます。
返されるデータは次のようになります
私はFFmpegやPHPのshell_exec()
機能を使ったことがありませんが、FFmpegはビデオ(またはオーディオファイル)に関する情報をかなり解析しにくい形式で提供するようです。でも、こういうことは可能だと思います。
php - shell_exec php の例
こんにちは、複数の具体的な例がありますが、Shell_exec からのバックグラウンドの例に PHP を呼び出すジェネリックが必要でした。
したがって、私のphp関数は大規模な処理ジョブを実行します。
スクリプト(process.php)の上に置く?
私は思う-その特定のパスを取得する方法はありますか、おそらく「どのphp」ですか?
次に、実際のコマンドは
とを使用してprocess.phpからデータにアクセスしargsv[1]
ますargsv[2]
?
ありがとう