こんにちは。
PHPで、あるサービスを作っているのですが、
わけがあって、サーバーで使用している(使用できる)すべての言語(HTML,CSS,javascript,PHP..)を表示したいです。
できることなら、CAKEPHPやjQueryなどのライブラリやフレームワークなども表示したいと考えています。
しかし、調べてみても、どこにもそのようなことは乗っておらず、ブラウザの言語判定などしか出てきません。
なにか不明な点などありましたら返信や補足などで答えます。
少し急いでいるので汗、よろしくお願いします..!
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答7件
0
CやPythonなどのサーバーサイドプログラミング言語(なのかな?)がサーバーで使えるかどうか(インストールされているか)は、PHPで判定することができるんでしょうか?
パスが通っていれば、
$ which perl
/usr/local/bin/perl
http://itpro.nikkeibp.co.jp/article/COLUMN/20060228/230996/
といった感じで調べることができます。これを応用するとかですかね。
※事前にバッチ流して一覧を作っておき、
コンパネからは表示するだけとか
もしくはインストール先はたいてい決まっているので(/usr/bin, /usr/local/bin, ...)、特定ディレクトリ配下のファイルリストを取得して取捨選択するという手も考えられます。
特定の言語のフレームワークはただのソースコード郡だったりするので、そのフレームワークの特徴的な一文で grep かけてやるとかが考えられますが、それもバージョン毎の差異とか考えると頭が痛いですし、精度が微妙です(100%特定できるとは限らない)。またフレームワークのファイルが存在してもすぐに利用できるとは限りません。
いずれにしてもゼロから作るとなると大変な作業になるわりに、どういった時に利用するのか謎な機能の印象です。もしサーバに入っている物の一覧から利用する技術を選択するといった理由であれば、おそらく使われないと思います。たいていの場合は自分が使いたい物をサーバに入れて、使いやすい環境を構築するという逆のステップになるからですね。
というわけで、
現在、サーバーを構築している友達に、そのサーバーのコントロールパネルを作っているのですが、そのページで使える言語を表示したいです。
なぜこれをしたいのかを突き詰めて考えた方が迅速に解決するような気がしていますが、あくまでこちらの推測なので、何かクリティカルな要件があるようでしたらすみません。
投稿2015/02/06 07:02
編集2015/02/06 09:32総合スコア783
0
yumリポジトリでなるべく多くの開発ツールを網羅した後に
各インタプリタ、及びコンパイラの対応言語をそれらと紐付けておけば
cronで定期的に「yum groupinfo "開発ツール"」 のリストの出力を使うことができるかもしれませんね。
フレームワーク等であれば、公式からrpmを自動で取得するスクリプトで更新をかけていって
rpm2cpioなんかでrpmの中身を解析すれば、"/usr/lib"移行の文字列なんかも比較対象になるかもしれません。
投稿2015/03/04 16:30
編集2015/03/04 16:34総合スコア47
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
「サーバーで使える言語」を確認して、その後、どうしようとしているのでしょう?
たぶん、みなさんが「目的は何?」と聞かれているのは、「どんな言語が使えるか知りたいんです」てことでなく、その先だと思うのですよね。
例えば、世に多数存在する、ご自身が知らない、ありとあらゆる言語も含めてリストしたい「だけ」だとすると、それは不可能かなと。少なくとも簡単には。
でも、「○○と△と□□ってな言語は使えるのかな?」とか、具体的に調べたいなら、それぞれの言語に応じて調べ方があると思いますよ。
てことで、一発では無理かもですね
投稿2015/02/10 21:13
退会済みユーザー
総合スコア0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/02/12 02:10
0
たとえばHTMLはサーバにとっては一般的には単なるデータであって、
Apache等のHTTPサーバ機能を通してブラウザに送りつけられた後、
ブラウザが解釈する際、初めて言語として認識されます。なので
「サーバで使える言語」とは言うには違和感があります。
同様に、「C言語が使えるかどうか」も、単にCコンパイラの実行
ファイルが入っているだけではダメで、コンパイルに必要なヘッダ
ファイルも必要だし、コンパイルが通った後もさらに実行ファイルを
生成するための「リンカー」と呼ばれるブログラム、さらに実行
ファイルにリンクされる大量のライブラリファイル等が必要です。
こんな感じで、「その言語がサーバで使えるとはどういうことか」
という定義が難しいため、自ずと答えも難しくなります。
投稿2015/02/06 15:27
編集2015/02/06 15:29総合スコア1613
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
ご要望のものとはすこし趣旨が異なりますが、webmin というコントロールパネル ツールがあるようです
そのうちの機能のひとつに、インストール済みのパッケージを確認する機能があるようです
インストールされているパッケージを簡単に確認することができれば、その後のやり取りも、幾分か楽になるのではないでしょうか
投稿2015/02/06 07:58
総合スコア2321
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/02/08 11:10
0
根本的な疑問として、「そもそもどういう目的でその情報を使うのか?」ということがあります。そして、HTMLやJavaScript(PHPと使う場合)、CSSといったものはサーバからブラウザに送られて動作するもので、サーバ側は動作に関与しません。
なお、PHPのフレームワークについては、Composerで構成管理をやるような場合を除けばファイルとしてプロジェクトフォルダに置くという形態が主流で、「PHPのシステム自体に組み込む」ようなことはあまり行いません。だから、「最初からCakePHP(なり、他のPHPフレームワークなり)が動くようなサーバ環境」になっていることはまずないです。
投稿2015/02/06 05:02
総合スコア145121
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/02/06 06:01
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/02/08 11:14
2015/02/08 19:04