商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > php cli missing (/usr/bin/php),php cli命令无法调用正确的php版本处理

php cli missing (/usr/bin/php),php cli命令无法调用正确的php版本处理

  发布于2026-07-11 阅读(0)

扫一扫,手机访问

php cli命令无法调用正确的php版本

php cli missing (/usr/bin/php),php cli命令无法调用正确的php版本处理

服务器上敲php -v,版本号看起来是对的——但别急着放心。再试试php -m或者php --ini,显示的配置路径可能完全不是你想的那样。明明正确的 PHP 装在/usr/local/php/bin/php,可which php却指向了/usr/local/bin/php。这俩目录下的 PHP,很可能不是同一个东西。

问题出在哪?多半是 PATH 环境变量在捣乱。执行echo $PATH,看看系统到底先找哪个目录:

[root@ip-***** sbin]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/aws/bin:/usr/local/goaccess/bin:/usr/local/php/bin:/root/bin:/usr/local/php/bin:/usr/local/php/bin:/opt/aws/bin

仔细看,正确的路径/usr/local/php/bin其实已经在变量里了,但它排在了/usr/local/bin的后面。系统在查找命令时,会按顺序遍历 PATH 里的每个目录,先出现的位置优先级更高。所以which php找到的是/usr/local/bin里的版本,真正的 PHP 核心却被忽略了。

解决方法并不复杂,把正确的路径挪到最前面就行。直接复制上面的 PATH 内容,调整顺序后用 export 重新写入:

[root@ip-***** sbin]# export PATH=/usr/local/sbin:/usr/local/php/bin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/aws/bin:/usr/local/goaccess/bin:/usr/local/php/bin:/root/bin:/usr/local/php/bin:/opt/aws/bin

改完别急着走,先验证一下:

[root@ip-***** sbin]# which php
/usr/local/php/bin/php

路径对了。再跑一遍 php --ini,确认配置也跟上了:

[root@ip-***** ~]# php --ini
Configuration File (php.ini) Path: /usr/local/php/lib
Loaded Configuration File: /usr/local/php/lib/php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed: (none)

搞定。其实就是 PATH 里目录顺序的小问题,但往往能让人折腾半天。记住:优先级看位置,前面的说了算。

本文转载于:https://blog.csdn.net/weixin_39618574/article/details/116446743 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注