不要使用 `php -v` 命令来确认 PHP 是否安装(警示)
概述
- 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,我还是可以使用php -v进行版本确认,即使没有php本身,只要有cli包就可以进行版本确认。
我的結論是
-
- 正確を期す場合は、php -v ではなく yum list installed | grep php* で確認
- yum のメッセージはよく読むべし