相信技术的力量

bash: php 未找到命令

一个常规的环境变量问题,只是这次出现的有点意想不到,因此记录一下。

问题

在Centos服务器通过yum方式安装完PHP之后,发现php -v命令无法查看PHP版本号。

root@izbp13dyqtrbl6x60rsebmz php]# php -v
-bash: php: 未找到命令

或者 bash: php command not found

这种一看就是缺少环境变量所致,一般的解决方案就是:

1、打开环境变量配置文件

vim /etc/profile

2、将php安装目录添加进环境变量

export PATH=$PATH:/usr/local/php/bin

3、刷新配置文件使之生效

source /etc/profile

然而,我的这次出问题并不是因为这个环境变量的原因:

  1. yum安装
  2. 没有/usr/local/php目录

解决

查找PHP安装信息

whereis php

输出如下,发现没有 /usr/bin/php 文件

[root@izbp13dyqtrbl6x60rsebmz ~]# whereis php
php: /usr/lib64/php /etc/php.d /etc/php.ini /usr/share/php

继续查找已安装的PHP rpm包:rpm -qa | grep php

[root@izbp13dyqtrbl6x60rsebmz php]# rpm -qa | grep php
php72w-pdo-7.2.6-1.w7.x86_64
php72w-mysql-7.2.5-1.w7.x86_64
php72w-fpm-7.2.6-1.w7.x86_64
php72w-common-7.2.6-1.w7.x86_64
mod_php72w-7.2.6-1.w7.x86_64
php72w-soap-7.2.6-1.w7.x86_64

发现缺少了 php-cli包,于是尝试安装

yum install php72w-cli

然而,这就是原因所在,安装过后,再次php -v,就一切正常了

[root@izbp13dyqtrbl6x60rsebmz php]# php -v
PHP 7.2.6 (cli) (built: Jun  2 2018 07:49:42) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

此时再通过whereis查看php信息,发现/usr/bin/php已经有了

[root@izbp13dyqtrbl6x60rsebmz php]# whereis php
php: /usr/bin/php /usr/lib64/php /etc/php.d /etc/php.ini /usr/share/php /usr/share/man/man1/php.1.gz

⬆️