我无法在 CLI 上运行 php

我无法在 CLI 上运行 php

当我再次安装它时,它说 php 已经是最新版本。当我运行php -v输出时是这样的:

The program 'php' can be found in the following packages:
* php7.0-cli
* hhvm
Try: sudo apt install <selected package>

运行时type php

bash: type: php: not found

当我运行whereis php输出时是这样的:

$ whereis php
php: /usr/bin/php.old /usr/bin/php7.0 /usr/lib/php /etc/php /usr/share/php7.0-common /usr/share/php7.0-intl /usr/share/php7.0-json /usr/share/php /usr/share/php7.0-zip /usr/share/php7.0-mcrypt /usr/share/php7.0-mysql /usr/share/php7.0-readline /usr/share/php7.0-opcache /usr/share/php7.0-xml /usr/share/php7.0-mbstring /usr/share/php7.0-gd /usr/share/man/man1/php.1.gz

我已经寻找过解决方案但都没有用。

答案1

看起来您已经php7.0-cli安装了,但是没有/usr/bin/php。后者通常是由替代系统管理的符号链接。您可以通过发出以下命令来显示其状态:

$ update-alternatives --display php
php - automatischer Modus
  beste Version des Links ist /usr/bin/php7.0
  Link verweist zur Zeit auf /usr/bin/php7.0
  Link php ist /usr/bin/php
  Slave php.1.gz ist /usr/share/man/man1/php.1.gz
/usr/bin/php7.0 - Priorität 70
  Slave php.1.gz: /usr/share/man/man1/php7.0.1.gz

如果这在您的计算机上显示不同的输出,则可能是设置不正确。您可以尝试运行update-alternatives --auto php并再次测试 a)php -v现在是否有效,以及 b)update-alternatives --display php现在是否产生与上述类似的输出。

如果这没有帮助,您可以手动设置替代方案:update-alternatives --set php /usr/bin/php7.0然后再次测试。

答案2

我从来没有使用过 PHP,因此对此持怀疑态度:

它似乎/usr/bin/php被重命名为php.old。我猜如果你运行readlink /usr/bin/php.old它会指向/usr/bin/php7.0。如果是这样,你可以通过运行取消重命名

sudo mv /usr/bin/php.old /usr/bin/php

否则,您可以创建一个新的/usr/bin/php

sudo ln -s php7.0 /usr/bin/php

或者重新安装整个包:

sudo apt-get install --reinstall php7.0-cli

相关内容