LoginSignup
4
3

More than 5 years have passed since last update.

PHPのインストール確認を php -v でやってはいけない(戒め)

Last updated at Posted at 2018-06-03

概要

  • PHP のインストールに失敗しているのに php -v に成功する場合がある

PHP 7 をインストールするため、次のコマンドを打ったとします。

$ sudo yum -y install php7.0 php70-mbstring php70-pdo

ここでは誤って "php7.0" という存在しないパッケージを指定しています。

実際にインストールされるのは以下です。

=======================================================================================================
 Package                  Arch             Version                        Repository              Size
=======================================================================================================
Installing:
 php70-mbstring           x86_64           7.0.30-1.29.amzn1              amzn-updates           1.3 M
 php70-pdo                x86_64           7.0.30-1.29.amzn1              amzn-updates           171 k
Installing for dependencies:
 php70-cli                x86_64           7.0.30-1.29.amzn1              amzn-updates           4.7 M
 php70-common             x86_64           7.0.30-1.29.amzn1              amzn-updates           1.2 M
 php70-json               x86_64           7.0.30-1.29.amzn1              amzn-updates            65 k
 php70-process            x86_64           7.0.30-1.29.amzn1              amzn-updates            79 k
 php70-xml                x86_64           7.0.30-1.29.amzn1              amzn-updates           310 k

Transaction Summary
=======================================================================================================

見てわかる通りPHP 本体はインストールされていませんが、php -v を打つと、

PHP 7.0.30 (cli) (built: May 10 2018 17:39:13) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies

とバージョン情報が表示されます。

そのため、「バージョン情報が出るからインストールされているっぽいのに、なぜかPHPが動かない」という状況に陥ってしまいます。

どうしてなのか

試しに php70-cli を単独で yum install してみた場合でも php -v ができました。
PHP 本体がなくても、cli パッケージがあればバージョン確認ができてしまうようです。

結論

  • 正確を期す場合は、php -v ではなく yum list installed | grep php* で確認
  • yum のメッセージはよく読むべし
4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3