私のCentOS 7.2サーバーでは:
[root@localhost data]# which php
/usr/local/bin/php
[root@localhost data]# ll /usr/local/bin/php
lrwxrwxrwx. 1 root root 29 Jun 25 08:13 /usr/local/bin/php -> /usr/local/php-7.1.16/bin/php
CentOS 7.2でPHPを実行していますが、dpkg --statusパッケージマネージャを使用してPHPをインストールするにはどうすればよいですか? installyum
またはmakeを使用してインストールされていますか?
答え1
ランニングrpm -qf /usr/local/php-7.1.16/bin/php
。
答えた場合:
file /usr/local/php-7.1.16/bin/php is not owned by any package
これにより、RPMパッケージ管理ツールを使用してファイルがインストールされていないことを確認できます。
他の人が言ったように、以下にインストールされているという事実は、ディストリビューション/usr/local
の標準パッケージには確実にインストールされていないことを示しています。を使用してインストールするか、make
サードパーティのRPMを使用できます。
ファイルがインストールされているかどうかを確認する唯一の方法make
は、システムに.o
他のオブジェクトコードファイルが存在するか存在するPHP 7.1.16ソースツリーとその時間を見つけることです(=ソースが実際にコンパイルされたことを示します)。 /usr/local/php-7.1.16/bin/phpにあるPHPバイナリのタイムスタンプに近いスタンプを撮ります。
答え2
この質問は答えかもしれませんし、できないかもしれません。
まず、yum
PHPバイナリがインストールされているパッケージに属していることを確認するには、次の手順を実行します。yum whatprovides '*bin/php'
パッケージが見つからない場合は、インストールされていyum
ない可能性がありますyum
。最も可能性が高いのは、yumデータベースが破損していることです。
yum経由でインストールされていない場合、via
yum経由でインストールされているかどうかはわかりません。通常make
、make
ファイルは必要な場所にコピーされますが、記録は残らないためです。
答え3
私の考えでは、あなたがphp
それをインストールしたと思いますmake
。
まず、CentOSには公式リポジトリにphp7バイナリがありません(「Remi」や「Webtatic」などの他のリポジトリにはphp7バイナリがあります)/usr/local/
。FHS:
この
/usr/local
階層は、システム管理者がソフトウェアをローカルにインストールするときに使用されます。システムソフトウェアが更新されたら上書きしないでください。ホストグループ間で共有できるプログラムやデータに使用できますが/usr
。
IMHO、あなたのPHPはmakeを使ってローカルに構築されているようです。