問題タブ [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 投票する
1 に答える
64 参照

php - アプリケーションがサーバーにあるかどうかを検証する

私は独自の Web サーバーを持っており、クライアントの 1 つで PDF を検索できるようにする必要があります。ホスティングプロバイダーに xPDF パッケージのインストールを依頼しました。今、私はテストに来て、PHP スクリプトで次のコード行を呼び出しています。

$content = shell_exec('/usr/local/bin/pdftotext test.pdf -');

唯一のことは、私は NULL の結果を得ているということです。私の質問ですが、プログラムが本当にインストールされているかどうかを検証する方法はありますか? ところで、パスが正しいかどうかさえわかりません。独自のWebサーバーを持つことになると、私はかなり新しいです。この例を次から引用しました: http://davidwalsh.name/read-pdf-doc-file-php

0 投票する
6 に答える
9636 参照

php - shell_exec を IIS 6.0 で実行する方法

問題

shell_execPDFからテキストへのコンバーターを実行するために使用するPHPスクリプトがあります。問題を単純化するために、コマンドshell_execの出力をエコーするだけの短いスクリプトを作成しました。dir

これを Apache サーバーで実行すると、すべてが期待どおりに機能します。IIS に切り替えると、行が完全にスキップされたかのようです。エラーも出力もログも何もありません。

残念ながら、Active Directory に対してユーザーを認証するので、IIS を使用する必要があります。


これが私がこれまでに試したことです:

  • コマンドをcmd.exe /c直接発行するのではなく、介して発行する
  • 「C:\WINDOWS\system32\cmd.exe」にRead & Execute権限を与えるSERVICE
  • 「C:\WINDOWS\system32\cmd.exe」にRead & Execute権限を与えるNETWORK SERVICE
  • 「C:\WINDOWS\system32\cmd.exe」にRead & Execute権限を与えるIUSR_MACHINENAME
  • Read & Execute「C:\WINDOWS\system32\cmd.exe」に許可を与えEveryoneます (心配しないでください。長い間そのままではありませんでした)。
  • PHP を ASAPI モジュールとして実行する
    • これが私の標準構成です
  • PHP を CGI 拡張として実行する
    • これは機能しません。エラーが発生します。CGI Error The specified CGI application misbehaved by not returning a complete set of HTTP headers.
  • IIS マネージャーで、Web サイトで に設定Execute Permissionsします。Scripts and Executables
  • html マークアップとその他の php 関数をスクリプトに追加して、それが処理されるかどうかを確認しました。します。まるでshell_execビットがスキップされたかのようです。

この質問を見てくれてありがとう、私は今問題で髪を引っ張っています

乾杯、 イアン


更新 1

私は本当にこれをしたくありませんでしたが、適切な解決策を見つけるまでの一時的なギャップとして、web サーバー (shell_exec が正常に実行されます) で Apache を実行し、cURL 経由で apache スクリプトを呼び出します。それは醜いですが、うまくいきます:)。


更新 2

これは、IIS やアクセス許可自体の問題ではなく、おそらくネットワークに設定されているポリシーの結果であると考え始めていますが、何が原因かはわかりません。フィールドの左からのアイデアはありますか?

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

php - PHP shell_exec LINUX パスワードの変更方法

私は何人かの深刻な助けが必要です。サーバーからロックアウトされました。ハッカーが私のパスワードを変更しました。しかし、root アカウントをハッキングすることはできませんでした。まだアクセスできますが、SSH で有効になっていないため、Linux で自分のアカウントにアクセスする必要があります。サーバー上の HTTP にしかアクセスできません。PHP でパスワードを変更できるかどうかを知りたいです。

問題のエラーメッセージ「sudo requires terminal」があります。パスワードを回復するのを手伝ってくれませんか。

0 投票する
3 に答える
2014 参照

php - PHPでbashスクリプトを実行する

私は2台のコンピューターを持っています。最初のコンピューターでは、すべてのWebコードでapacheを実行しています。2台目のコンピューターには、取得スクリプトを使用して大量のデータが保存されています(スクリプトの実行には通常数時間かかります)。私は基本的に、時間の遅れなしにこのデータにアクセスするためのWebUIを作成しています。

だから私は呼ぶ:

exec("bash initial.bash");

これは私のApacheフォルダーにあるドライバースクリプトです。他のコンピューターのスクリプトを呼び出します。呼び出し: ssh otherMachine temp.bash&

このスクリプトは、2台目のコンピューターでデータ取得スクリプトを呼び出します。

ターミナルでinitial.bashを呼び出すと、すべてがスムーズに正常に機能しますが、PHPファイルで呼び出すと、.を除いて、initial.bash内のすべてのコマンドが実行されますssh otherMachine temp.bash&。その最後に&を付けて、temp.bashがバックグラウンドで実行されるようにします。これは、完了するまでに数時間かかるためです。

Apacheによって呼び出されたときにネストされたスクリプトが実行されない理由がわかりません。execまたはshell_execを使用してスクリプトを呼び出し、最終的に別のスクリプトを呼び出すよりも優れた代替手段はありますか。2台目のマシンでスクリプトを直接呼び出さないのは、プログラムの実行に時間がかかるためです。Shell_execは、スクリプトが完了するまでphpページをレンダリングしません。

0 投票する
3 に答える
1121 参照

php - PHPのshell_exec()

上記のスクリプトをブラウザから実行すると、10秒間ロードされ、スクリプトの出力が画面にダンプされます。もちろん、これは正常です。しかし、シェルスクリプトによってSTDOUTに書き込まれたデータをリアルタイムで画面に表示したい場合、それを行う方法はありますか?

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

php - System_Daemon と shell_exec

データベースに何かが現れるのを待つ PEAR の System_Daemon を使用して、デーモン (daemon.php) をセットアップしました。何かがそこにあると、デーモンは十分な情報を取得し、この方法でコマンドを使用して別のスクリプト (execute.php) に送信しshell_execます。応答を待ってデーモンを停止させる心配はありません。

shell_execどちらのスクリプトも単独で問題なく動作し、 を呼び出す前に呼び出すことさえできSystem_Daemon::start();ます。ただし、 AFTER を呼び出そうとSystem_Daemon::start();すると、ファイルに出力するときにのみアクセスが拒否されます。

私はまだデーモン全般に慣れていないので、アイデアや考えは素晴らしいでしょう!

みんなありがとう!

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

php - shell_exec()およびexec()は出力を表示しません

shell_exec()

私はshell_exec()このような関数を使用するPHPサイトをやっています:

ここで、leafはスクリプトの同じディレクトリにあるプログラムですが、サーバーでこのスクリプトを実行しようとすると、何も得られませんでした。


exec()

このように使ってみるとexec()

私はこれを得た:

同じことをしますが、のecho代わりにを使用するとprint_r、これだけが得られます:Array

私は何ができますか?

0 投票する
3 に答える
2198 参照

java - PHP から Java JAR を実行できない

HTML ファイルを生成する Java プログラムがあります。Java プログラムは、file1 と file2 の 2 つの入力パラメータを取り、出力ファイルは「--file=」で指定されます。

コマンド ライン (UNIX、Mac OS 10.6.2) から実行すると、次のようになります。

コマンドラインからプログラムを実行すると、「new_file_TIEMSTAMP.html」というファイルが生成されます。

今度は、この同じ行を PHP から実行したいので、次のスクリプトを作成しました。

ご覧のとおり、私はコンソール出力にはあまり関心がありませんが、プログラムによって生成されるファイルに関心があります。

また、次の呼び出しを使用してコンソール コマンドを実行しましたが、ブラウザからこの PHP スクリプトを実行すると、どちらも機能しません。

php.iniで有効にする必要がある特別な設定があるのか​​ 、それとも何か間違っているのかわかりませんが、今何をすべきかわかりません。

あなたの助けに感謝します

PD:

システムコール の使用時に表示されるエラー メッセージの 1 つは、次のとおり です。

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

php - 「svnadmin verify」を使用した shell_exec は何も返しません

shell_exec() から svnadmin verify コマンドの出力を提供したい

しかし、それは「null」を返します。svnadmin verify の応答にアクセスするにはどうすればよいですか?

Mac OS X Snow LeopardでPHP 5.3.2を使用しています

0 投票する
0 に答える
4692 参照

java - Javaプログラムを実行するphp shell_exec

PHP コードで、shell_exec を使用して Java プログラムを実行しようとしましたが、空の行が表示されます。

bashでプログラムを実行しようとしたとき:

「aaa」が表示されますが、同じファイルを実行しようとすると

空行になりました

これはJavaコードです

私がする時:

「あああああ」と出ます

「:]」文字列を取得することはありません。どのように機能させるのですか?

System.out.println(String ) を使用した印刷行は echo と同じではなく、印刷行は戻り値と同じではない可能性があります