当我再次安装它时,它说 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