問題タブ [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 - Windows Server でのバックグラウンド プログラムの実行
実行時に次のことを自動的に行う Windows プログラムがあります。
起動すると、処理するディレクトリ内の新しいファイルをチェックします。新しいファイルが見つかった場合、ファイルに基づいて特定の Web データをスクレイピングします。新しいデータを別のディレクトリのファイルに出力します。
exec()
PHP を使用して、ファイルを最初のディレクトリにアップロードし、プログラムをバックグラウンドで実行するために使用する Web アプリを作成しようとしています。Windows サーバーでは、処理が完了するまでプログラムをバックグラウンドで実行できますか? また、プログラムが Web サイトに接続してデータをスクレイピングできるようになりますか?
php - コマンドがシェルで機能している間、php shell_Execが機能しない
私はimagemagick
convert
phpからコマンドを使用する必要があります。だから私は使用してshell_exec
いますが、その出力はヌル文字列です。コマンド convert はSTDOUTに何も出力しないことを知っていますが、目的の出力convert
も達成されません。もexec
機能しません。これらのコマンドは、シェルまたは php コマンド ラインから正常に実行されます。何が問題になる可能性がありますか?
編集: 2>&1 を追加すると、convert がエラーをスローしていることがわかります:missing an image filename
/a5d98168a524a331c5e06d60096debd63cbdce1f.jpg' @ error/convert.c/ConvertImageCommand/2970. where the full command is
/var/www/weblog/web/uploads/poster/a5d98168a524a331c5e06d60096debd63cbdce1f.png /var/www/weblog/web/uploads/poster/a5d98168a524a331c5e06d60096debd63cbdce1f.jpg を変換します。
php - PHPスクリプトからLinuxの「画面」でコマンドを実行できません
背景:VPSで友達のためにMinecraftサーバーを実行していて、PHPを使用して一種の「ステータスWebページ」を作成しようとしています。これは私が実装しようとした最後のことです。サーバーのアップ/ダウンインジケーター、オンライン時間などがあります。
私が問題を抱えているスクリプトは、プレーヤーリストを表示することです。理想的には、サーバーでプレイしている人の名前のリストを表示し、オフラインの人は灰色、オンラインの人は青色で表示したいと考えています。
今私が問題を抱えている部分:
minecraftサーバーのjarfileは、minecraftというラベルの付いた「画面」で実行されます。オンラインプレーヤーのリストを取得するには、(画面で)「リスト」を実行してからEnterキーを押すと、プレーヤーのリストが出力されます。
PHPから画面でコマンドを実行するさまざまな方法を試しました。たとえば、次のようなものです。
Webページに常にエコーされる結果は次のとおりです。
私は何が間違っているのですか?私のphpはひどいです(私はPHPを学んだことがなく、リファレンスから直接学んでいます)が、これは簡単に思えますか?
ちなみに、動的に強調表示された文字のリストを実現するための最良の方法は何ですか?再生し、explode()して比較する文字の配列ですか、それともデータベースに書き込んでそこから比較する必要がありますか?
みなさん、よろしくお願いします。
PS:参考までに、ウェブサイトはhttp://fudgesminecraftserver.infoにあり、そこで何が起こっているかを見ることができます。
php - パラメータ付きのPHPshell_execが機能していません
サーバーのshell_execオプションに問題があります。CPanelとPHPがインストールされたCentOS5.7を実行しています。
このコーディングでは、shell_execを使用してパラメーターをphpファイルに渡します。サンプルコードは以下のようになります。これをphpfileから呼び出しています(バックグラウンドプロセス)
vi test.php
ここで、666はphpファイルに渡されるパラメーターです。
これは、テストサーバーでは正常に機能しており、ライブサーバーでは機能していません。
また、Linuxターミナルを使用してこれを実行すると、正常に動作し、出力が生成されます。
すなわち:php-ftest.php-は正常に動作しています。
しかし、この同じファイルをブラウザで実行しようとすると、機能しません。
http://example.com/test.php
ログファイルにエラーメッセージはなく、設定した権限は正しいです。
以前に同じ問題が発生した場合はお知らせください。この問題を解決するのを手伝ってください。
ありがとう、
ニケシュ
フォルダに完全な権限を与えましたが、機能しません。サーバーでセーフモードが無効になっています。
基本的なShell_exec関数がサーバーで機能しています。しかし、phpファイルにパラメーターを指定すると、ブラウザーを介して機能しなくなります。しかし、Linuxターミナルからは、その動作と出力の生成が行われます。
フォルダのアクセス許可とは関係なく、フォルダには書き込みアクセス許可があります。しかし、ブラウザを介して機能しない方法がいくつかあります。これを有効にする必要がある場合はお知らせください。またはサーバー/PHP設定を変更する必要がありますか?
php - LinuxでPHP Webページを介してCコンパイル済みプログラムを実行する
現在、私の page.php ファイルは次のようになっています。
シェルで同じコマンドを入力すると、いつでも完全に機能します (input.txt ファイルに入力例が用意されています)。
私の考えは、php を使用して input.txt ファイルと通信し、output.txt ファイルと通信してページに結果を返すインターフェイスを作成することでした。しかし、まず、持っているプログラムを実行できることを確認する必要があります。
でコンパイルしました
foo 実行可能ファイルは、page.php と同じディレクトリにあります。
すべてのファイル(page.php、input.txt、およびfoo)で777のアクセス許可を試しました
サイトは稼働中で、ページを更新すると日付が変わりますが、ディレクトリに output.txt がありません。
私はもう試した
意図したとおりに機能し、適切なディレクトリの内容を表示します。
php - ubuntu の PHP shell_exec()
libreOfficeでubuntuを使用しています。ファイルをunoconv
に変換するためにインストールしました。ターミナルからコマンドを実行すると、非常にうまく機能します。PHPメソッドを使用して同じことをしたい。そこで、次のコードを書きました。*.odp
*.pdf
unoconv -f pdf myfile.odp
shell_exec()
しかし、次のエラーが表示されます。
どうすればこの問題を解決できますか?
前もって感謝します。
php - ConvertHTMLtoImage の呼び出し時に shell_exec がフリーズする
私のサイトにリンクされているサイトのプレビュー キャプチャを取得するボットを実行しています。そのためにconverthtmltoimageというプログラムを使用します。親指をつかむプログラムは、Windows サーバー上で実行されています。shell_exec を介してコマンド ライン オプションを使用します。ただし... converthtmltoimage は、特定の Web サイトでフリーズする傾向があります。その結果、コマンドが実行されず、PHP コードもフリーズします。
これを解決するにはどうすればよいですか? shell_exec で何らかのタイムアウトを有効にするか、converthtmltoimage の代替手段を有効にするかのどちらかだと思います...
php - 出力とリターン コードを含む php システム コマンド
システムコマンドの出力(生)を変数に返し、リターンコードを与えるPHPで何かを探しています。
exec
これを行いますが、出力は配列であるため、返されるデータは適切ではありません (\n
新しいインデックスに含まれているため)。system
変数ではなく出力ストリームにデータを出力します。shell_exec
戻り値は返されませんが、生データが返されます。
php - SSH2 PHP 圧縮ディレクトリ EOF エラー
PHP と ssh2 ライブラリを使用してバックアップを行うスクリプトがあります。このスクリプトは、ssh2 を使用してリモート マシンに接続し、バックアップ タスクを実行します。ダウンロード時間を最小限に抑えるために、バックアップ ディレクトリを圧縮したいと考えています。
なんとかできましたが、ローカルマシンで圧縮ファイルを開くと、「予期しないファイルの終わり」と表示されます:(
私はUbuntu 11.10で作業しています。そしてphp5. 私のリモート マシンは Centos を実行しています。
ファイルを圧縮するには、tar を使用してバックアップ ディレクトリをアーカイブし、その後に gzip を使用するため、myarchiveddir.tar.gz で終了します。
コードは次のようになります: ....
私は解決策を探して研究してきましたが、いつも同じポイントで終わるようです. 誰かがこの問題に少し光を当てることができますか. 私はssh2ライブラリが初めてなので、この分野では少し緑です。それほど複雑ではないはずです。私が見逃しているものに違いありません。
よろしくお願いします。マヌエル
php - パスファイルを正しく扱う方法、これは簡単ではありません
C:\Program Files\N.exe にファイルがあるとします。php でシステムを呼び出したいのですが、どのように呼び出すのですか? パス ファイルは、True と Not False を返すように正しく記述されている必要があります
クリアランス: コマンドライン経由で C:\Program Files に移動し、このファイルを実行してプログラムを実行できるとします。コマンドライン経由で実行する代わりに、php 経由で実行したいのですが、多くの選択肢があります。
私にとっては重要ではありませんパスファイルを書き込む方法を教えてください。