問題タブ [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 system() shell_exec() でブラウザがハングする
重複の可能性:
PHP での非同期シェル exec
バックグラウンドで Java プログラムを実行する必要があります。
process.php が含まれています
shell_exec("php php_cli.php")
php_cli.php が含まれています
ajaxを使用して非同期でprocess.phpを呼び出しています
(process.php を実行するための) ajax 関数を呼び出す Web ページのリンクをクリックすると、Web ページに「読み込み中」と表示されます。同時に他のリンクをクリックしても反応しません。
Java プログラムは実行が完了するまでに約 24 時間かかるため、ユーザーは実行が終了するまで待機しません。
問題は、ブラウザがロードを続け、リンクをクリックしても他のページに移動しないことです。
system()でも試してみましたが、同じ問題が....
助けていただければ幸いです。
php - How To Execute SSH Commands Via PHP
I am looking to SSH out via PHP. What is the best/most secure way to go about this? I know I can do:
Anything better? That feels so 'naughty' :).
php - PHP を使用した WordNet アクセス
で述べたように、wordnet 辞書にアクセスしようとしました: Calling wordnet from php (Wordnet class or API for PHP)。コマンドラインでうまくいきました。次に、辞書にアクセスするために、以下のようにphp関数 shell_exec() を使用しようとしました:
これにより、-ant、-hyp などの検索オプションが表示されます。つまり、正常に機能しました。
しかし、上記のコマンド (以下のように) に検索オプションを追加しようとすると、機能しませんでした:
または、次のようなコマンドでスペースを与えた場合でも:
それは動かなかった。
これの理由と解決策の提案を教えてください。
php - phpはシェルコマンドを実行します、dyld:ライブラリがロードされていません:/usr/lib/libxml2.2.dylib
wkhtmltopdf 実行可能ファイルを使用して、一部の html を pdf に変換しようとしています。Macでテストしているだけで、ターミナル経由で実行可能ファイルを実行すると正常に動作します。php shell_exec を使用して実行すると、次のエラーが発生します。
dyld: ライブラリがロードされていません: /usr/lib/libxml2.2.dylib 参照元: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices.framework/Versions/A/DictionaryServices 理由: 互換性のないライブラリ バージョン: DictionaryServices はバージョン 10.0.0 以降が必要ですが、libxml2.2.dylib はバージョン 9.0.0 を提供します。
PHP経由で使用しているcmdを吐き出すと、それを実行でき、ターミナルで正常に動作します。
これはパスの問題だと思うので、php で使用できるパスとは異なるユーザー パスをエコーアウトしたので、前にコマンドに追加しました。
私が間違っているかもしれないことについて何か考えはありますか?
ありがとう、MS
php - PHP で shell_exec を使用して 'git pull' を実行してもエラーが表示されない
PHP で記述された github のデプロイ スクリプトを作成しています。shell_exec
コマンドを使用して実行していますが、git pull
これは正常に機能します。
プルにエラーがあると、問題が発生します。ターミナルで実行すると、完全なエラーが発生します。例えば:
しかしshell_exec
、出力で同じコマンドを実行すると、次のように切り捨てられます
おそらく前の応答からの応答であるため、エラー メッセージが途切れています。完全な出力を返す方法はありますか?
php - mkdir と php の再帰コピー
私の機能では、コンテンツの作成と新しいディレクトリへのコピーに問題があります(これがこれを行うための最良の方法であるかどうかもわからないため、別の提案を歓迎します)。
次のように2つのネットワークドライブをマウントしています/etc/fstab
:
基本的に、uslonsapp003
マウントからのファイル パスでプロンプトが表示されたら、ディレクトリ構造が存在するかどうかを確認し、存在しuslonsnas001
ない場合は再帰的なディレクトリを作成します。uslonsapp003
次に、コンテンツを の新しい構造の場所にコピーしuslonsnas001
ます。これが私のコードです:
「ディレクトリの作成に失敗しました...」と「コピーに失敗しました...」の両方のエラーが発生しました
これはApacheを介して実行されます。これはパーミッションの問題だと思いますが、それは私の「勘」です。助けてください!
shell_exec() の先頭に追加しようとしましsudo
たが、それでも機能しません。
更新1
/home/lv_admin/uslonsnas001
ディレクトリを作成したときに、そのディレクトリのmod、所有者、およびグループを、それを使用するもの(www-data)に変更しなかったため、mkdirが失敗していることがわかりました。以下を実行すると、その部分が修正されました。
しかし、私はまだコピー コマンドに問題があり、「モジュール 'ODBC' は既に読み込まれています」と言っています。
php - shell_execは空の文字列を返します
PHPでコマンドを実行するとshell_exec
、常に空の文字列が返されます。試し shell_exec('ls -l');
てみましたが、うまくいきました。コマンドを別のファイルとして配置しましたが、それでも同じ結果になります。
php - PHPからシステム上でコマンドを実行する
wkhtmltopdfを使用してインストールしました
sudo apt-get install wkhtmltopdf
このためのコマンドを生成するphpスクリプトがあります。
それが生成するものの例は
wkhtmltopdf 'http://stackoverflow.com' "/tmp/Stack Overflow.pdf" --orientation Portrait --page-size A1 --zoom 1
ターミナルで実行すると、正常に実行されます。
ただし、使用して実行しshell_exec()
ても効果がないようです。
呼び出しecho shell_exec('wkhtmltopdf --version -');
はバージョン情報を出力するので、何かが機能していることに注意してください...
実際のコード:
デモページ
php - PHPはサーバー統計を収集します
各サービスをベンチマークするWebアプリケーションのカスタムコンポーネントを構築しています。これまでのところ、計画は通常のものをベンチマークすることです。
- 反応時間
- メモリー
- 現在のサーバーアクティビティ
等
基本的なものを作成し、現在実行中のプロセスと使用されているリソースの量を一覧表示するlinuxの「top」コマンドの出力を保存することを考えていました。しかし、私は実行から応答を取得することができませんでした:
しかし、phpマニュアルの例のように、他のより単純なコマンドは機能します。
したがって、私の質問は次のとおりです。-「top」コマンドをrootとして実行する必要がありますか?(現在、apacheユーザーの下で実行されています)-または、サーバー統計を取得するのに役立つ他のphpコマンドはありますか?
私はこの投稿を読みましたが、必要に応じて統計を必要とし、それらをDBに保存するため、何もインストールすることにあまり興味がありません。 PHPサーバー統計スクリプト?