背景:私はVPSの友達のためにMinecraftサーバーを実行しています。PHPを使用して、そのような「ステータスWebページ」を作成しようとしています。 。これは実装しようとした最後のものです。サーバーのアップ/ダウンインジケーター、オンライン時間などがあります。PHPのスクリプトからLinuxの 'screen'でコマンドを実行できません
スクリプトにはプレイヤーリストが表示されています。理想的には、サーバー上でプレイする人の名前のリストを表示し、オフラインの人をグレーに色分けし、オンラインの人を青色にすることが理想的です。
のMinecraftサーバーのjarファイルが「画面」で実行され、ラベルのMinecraft:
は今、一部私が問題を抱えています。オンラインプレーヤーのリストを取得するには、(画面内で) 'list'を実行してからEnterを押すと、プレイヤーのリストが表示されます。$online = shell_exec('screen -S minecraft -X print "list\r"');
echo "<pre>Players online: $online";
常にWebページにエコー結果は私が間違っているのは何
Players online: No screen session found.
です:
は私のようなPHPからの画面でコマンドを実行するさまざまな方法を、試してみましたか?私のPHPは酷いです(私はPHPを学んだことはなく、リファレンスを直接学習しています)が、これは簡単なことでしょうか?
ダイナミックに強調表示された文字のリストを得るにはどうすればよいでしょうか?再生し、分解()し、比較する文字の配列、またはデータベースに書き込んで比較する必要がありますか?
ありがとうございます。
PS:参考のため、ウェブサイトはhttp://fudgesminecraftserver.infoにあります。そこには何が起こっているのかが分かります。
あなたのWebサーバーが適切なシェルを持っているかどうかを確認しますか?それはこの物を執行するための正しいパーマを持っていますか? – Treffynnon