問題タブ [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.

0 投票する
9 に答える
113885 参照

php - PHPを使用してIPアドレスにpingを実行し、結果をエコーし​​ます

今まで使っていない次の機能があります。IPアドレスにpingを実行してから、IPが有効かどうかをエコーし​​ます。

例を使用してこの関数を呼び出すと、次のようになります。

エコーの結果は常に「デッド」です-何があっても。

誰かが私が間違っているところを助けてくれませんか?および/または同じ結果でこれを行うためのより良い方法はありますか?

どうもありがとう。

更新:二重引用符を含めるようにコードを修正しましたが、それでも同じ(誤った)結果が得られます。

0 投票する
2 に答える
973 参照

php - カーネルの IP ルーティング テーブル用の PHP インターフェイス

IP ルーティング テーブル用の CRUD インターフェイスを実装しようとしていますが、PHP で UNIX コマンドを実行するのに行き詰まっています。shell_exec コマンドを使用して route コマンドの出力をエコーし​​ようとしましたが、出力が null です。

次のような他の組み合わせもいくつか試しました。

では、PHP から route コマンドを実行するにはどうすればよいでしょうか。

ありがとう!

0 投票する
1 に答える
110 参照

php - Apache によって呼び出された php スクリプトでディレクトリの変更が保持されない

Web ページにアクセスして呼び出すことができる、サーバーにいくつかの変更を加えるスクリプトを作成しようとしています。

ただし、php スクリプト内でシェル コマンドを実行しようとする apache ユーザーのアクセス許可に関して、多くの問題に遭遇しました。サーバーによっては、ユーザーが wwwrun または wwwdata の場合があります。

たとえば、ディレクトリを に変更したいのです../subdomains/$url/httpdocs/が、その後の を実行すると、pwdディレクトリが変更されていません。他のディレクトリを一覧表示することはできますが、フォルダに対するアクセス許可により、ほとんどの変更を行うことができません。

ただし、手動でサーバーにアクセスしてフォルダーを chmod することはできません。フォルダーは、他の変更を行う直前にシステムによって自動的に生成されるはずだからです。

最初に、/etc/sudoers を編集してみました。これは、実際に場所を知っているマシン上の実行可能ファイルに対して機能しました。ただし、すべての検索にもかかわらず、cd などの実行可能ファイルに組み込まれている BaSH の場所が見つかりません。しかし、これはニシンだと思います。これらの機能を sudoers ファイルに追加するのは、おそらくセキュリティ上良くないでしょう。

おそらく、apache suEXEC が最適です。しかし、私はサーバー管理の旅にあまり詳しくなく、私のスキル レベルの誰かがサーバーをインストールしてセットアップするための適切なガイドを見つけられませんでした。

また、最初のphpスクリプトから呼び出すことができるシェルスクリプトを作成しようとしましたが、それをまったく機能させるのに苦労しています。私はそれを使い続けますが、元のファイルを機能させることができるし、できるはずだと感じています。

テキストの壁で申し訳ありません。ご協力いただきありがとうございます。

0 投票する
5 に答える
10060 参照

php - リアルタイム更新によるphp shell_exec

PHPで実行したいこのシェルプログラムがあります。問題は、時間がかかる可能性があることです。その時点で、ユーザーのブラウザーをリアルタイムで更新する必要があります。

それを行うには popen() を使用する必要があるかもしれないと読みましたが、私は一種の (わかりました、私は本当に:P) PHP初心者であり、どうすればそれができるのかわかりません。

助けていただければ幸いです!

0 投票する
1 に答える
536 参照

php - PHP での shell_exec() との並行性

shell_exec()PHPを使用して FontForge シェル コマンドを実行する Web アプリケーションがあります。潜在的な同時実行の問題が心配です。shell_exec()ユーザーごとに一意のインスタンスを開く方法はありますか?

コマンドの 1 つを使用すると、ユーザーはフォントをあるファイル形式から別のファイル形式に変換できます。

ユーザー A が FONT A を開き、ユーザー B がすぐに FONT B を開くと (ユーザー A の Generate() コマンドが呼び出される前に)、ユーザー A が誤って FONT B を受け取るのではないかと心配しています。フォント。

0 投票する
1 に答える
490 参照

linux - 「コマンドが見つかりません」というエラーが発生した場合、shell_exec()を使用してPHP内からLinuxユーティリティを実行するにはどうすればよいですか?

Linuxユーティリティ(optipng)をインストールしました。

次のようにコマンドラインから呼び出すと、正常に動作します。$ optipng image_name.jpg

このようにPHP内から実行しようとするとshell_exec( 'optipng image_name.jpg' );...エラーが発生しますoptipng command not found

sudo: optipng: command not foundを使用してコマンドラインから実行しようとすると、エラーも発生しsudoます。

このユーティリティをインストールしたとき、私はとを使用configuremakeました。

これを機能させるにはどうすればよいshell_exec()ですか?

0 投票する
1 に答える
282 参照

linux - Cronを介して実行されるシェルスクリプトの前のステップを確認してください

--- ファイル makebackup.sh

--- ファイル upload.sh

なぜこれがうまくいかないのか、sleep を使いたくないので、前回の tar がいつ終了したかを知り、upload.sh ファイルを実行する必要があります。代わりに、最後の tar ファイルが開始されるとすぐに実行されます。

&&はsleep 60を外しても何もしません

0 投票する
1 に答える
13456 参照

php - PHP shell_exec、-rwxrwxrwxシェルスクリプトを実行するためのアクセス許可が拒否されました

私は現在、ApacheWebサーバーを実行するリモートCentOS5.6システムでsshを使用しています。pdftohtml残念ながら、現在そのマシンにインストールされていないpopplerバイナリを使用する必要があります。そこで、popplerパッケージをダウンロードして、ユーザーフォルダーの下にビルドしました。IIはシステム管理者ではないので、私はしませんでした

コンパイルしたファイルはすべて下にあります

PHPを介して実行する必要があるファイルshell_exec()

ssh bashを介して実行すると、正しい出力が得られます。代わりに、次の行をphpスクリプトに配置します。

次の出力が得られます。

現在-rwxrwxrwxであるファイルパーミッションを777に設定してみました。shell_exec("whoami");また、使用すると「apache」になることにも気づきました。ファイルのパーミッションが-rwxrwxrwxの場合、apacheはスクリプトを実行できるべきではありませんか?

また、popplerをインストールするmake installことで問題が解決することも知っていますが、これはテスト目的であるため、テストが完了するまで、個人用フォルダーの外部でシステムを「汚染」することは避けたいと思います。

助けてくれる人に感謝します!

0 投票する
2 に答える
1102 参照

php - 実行時にshell_execを出力します

コマンドラインでJavaアプリケーションを実行する小さなphpスクリプトをローカルで作成しました。このJavaアプリケーションは継続的に実行され、終了することはありません。実行すると、コマンドラインテキストが出力されます。コードは次のとおりです。

私の問題は、アプリの実行が停止しないため、出力が印刷されないことです。アプリの実行中に返される各行をPHPに出力させる方法はありますか?うまくいけば、私はここで理にかなっています(そうでない場合は教えてください)。

0 投票する
1 に答える
1078 参照

php - PHP から Linux コマンドを実行する

少し特殊な状況があります。ImageMagick が提供する「convert」コマンドに依存する、Diascope という PHP スクリプトからビデオ エンコーディング プログラムを実行しようとしています。非常に単純な変換を実行してから、Diascope というアプリケーションを実行する bash スクリプトがあります。これは変換コードであり、次のように動作し、新しいファイルを作成します

エラーは表示されませんが、次のように Diascope を実行します

そして、「Diascope 0.2.1」と表示されるため、Diascope がプロパティをロードすることがわかります。

diascope 0.2.1 (ms 2006-2010) スライドショー ジェネレータ ドキュメントと更新については、 http: //diascope.sf.net を参照してください。

エラー: 実行可能プログラムが見つかりません: 変換 リリース ノートで diascope の要件を参照してください。

実行するshell_exec("whoami");と「nobody」と出力されます

では、convert を単独で実行できるのに、「diascope」プロセスがそれを利用できないように見えるのはなぜですか? 777 にアクセスして chmodしようとしまし/usr/local/bin/convertたが、効果がないようでした。ここで他に何を試すことができますか?

更新:おそらく、端末でルートとして実行しようとすると、audio.flv ファイルが作成されますが、返さdiascope -clean audio.txtれないように見えることを追加する必要があります。sudo su nobodyThis account is currently not available.