Debianパッケージが本番サーバにインストールされているかどうかを知りたい場合、機能はちょうどextension_loaded()
のようになります。PHP - Debianパッケージが存在するかどうかを確認する
誰も方法を提案できますか?私はexec()
を使用し、 'コマンドが見つかりません'の戻り値を解析する必要があると仮定することができますが、より安全で優れたオプションがあるかどうかを知りたいと思います。
Debianパッケージが本番サーバにインストールされているかどうかを知りたい場合、機能はちょうどextension_loaded()
のようになります。PHP - Debianパッケージが存在するかどうかを確認する
誰も方法を提案できますか?私はexec()
を使用し、 'コマンドが見つかりません'の戻り値を解析する必要があると仮定することができますが、より安全で優れたオプションがあるかどうかを知りたいと思います。
あなたはEXECコマンドへのアクセス権を持っている場合は、次のいずれかを使用できます:あなたは、このためのシンプルなAPIを書くことができ
whereis packagename
apt-cache policy packagename
を。それは次のような何かをする必要があります。
上記提案された解決策の欠点は、例えば、いくつかの時間がかかることであるPHPで出力ファイルを読み出して、ユーザーにそれを示しています。リアルタイムでパッケージの可用性をチェックすることはできません。もしそれが実際に必須であれば、入力を全く受けないPHPスクリプトを書くことができますが、値が広範にテストされたデータベースやテキストファイルから検査すべきパッケージを読み込みます。正規表現を使ってこのようにして、悪意のあるユーザーがシェルコマンドを注入できないことが確実になります。
あなたの答え、確かに有効な方法、多くのありがとう、この場合は、即時の応答が優先です。 +1 –
私は本当に 'exec'にアクセスできます。私の方法の代わりに' whereis'を使うのは、誰かが何とかして 'shutdown -h 0'がチェックされていれば、サーバが死ぬだろうということです。ありがとう! –