如何知道我的系统中是否同时安装了 php5.3 和 php5.5?如果存在 php5.3,如何删除它并配置 Apache2 以与 php5.5 一起工作?
我使用下面的命令在 Ubuntu 中查看安装的 PHP 版本:
sudo update-alternatives --list php
第二种方式去
php
所有PHP版本配置文件存储的目录:
cd /etc/php
dir
输出:
> 5.6 7.0 7.1
既然你有一个 Linux 环境,你可以在你的控制台上运行这个:
locate bin/php
然后对于任何看起来像 PHP 二进制文件的东西,获取版本。以上对我的输出是:
/home/xx/Development/Personal/Project1/webapp/bin/phpunit
/home/xx/Development/Personal/Project1/webapp-backup/vendor/bin/phpunit
/home/xx/Development/Personal/Project2/app/vendor/bin/phpunit
/home/xx/php-threaded/bin/php
/home/xx/php-threaded/bin/php-cgi
/home/xx/php-threaded/bin/php-config
/home/xx/php-threaded/bin/phpize
/usr/bin/php
/usr/bin/php5
/usr/local/bin/php-cgi
/usr/local/bin/php-config
/usr/local/bin/php53
/usr/local/bin/phpize
/usr/sbin/php5dismod
/usr/sbin/php5enmod
/usr/sbin/php5query
其中,有一些看起来像 PHP 二进制文件。因此,让我们获取每个版本:
/home/xx/php-threaded/bin/php -v
/usr/bin/php -v
/usr/bin/php5 -v
/usr/local/bin/php53 -v
这将为您提供已安装的 PHP 版本。
我不会费心删除旧版本,它可能会删除会停止工作的文件。您可以只配置控制台版本或 Apache 版本,以使用您想要的版本。
回答您的补充问题:您似乎已经按照此处的说明向您的Ubuntu版本添加非官方回购,因为标准回购不支持5.5.
我们一起发现,让它工作的方法首先是将 Apache 从 2.2 升级到 2.4:
sudo apt-get upgrade apache2
应该注意的是,这can导致需要进行一些vhost修复,因为一些Apache指令在此版本中发生了变化。完成后,您可以获得新版本的
mod_php
:
sudo apt-get install libapache2-mod-php5
要检查您安装的版本类型:
cd /etc/php
在您的终端中转到您的 PHP 安装的配置文件夹,然后键入:
ls
输出将是与您机器中安装的版本相对应的文件夹。在我的例子中,命令输出:
5.6 7.0 7.1
我总是使用这个命令来查看 PHP 版本列表,也用于将一个版本切换到另一个安装 PHP 版本。
sudo update-alternatives --config php
您可以在控制台上运行它:
find / -name php | grep bin
我使用以下命令在 Ubuntu 中查看已安装的 php 版本:
sudo dpkg --list | grep ' php[0-9]\.[0-9] '
获取所有已安装包的列表并过滤已安装的 PHP 版本:
sudo apt list --installed 2>/dev/null | cut -d / -f 1 | grep ^php[0-9].[0-9]$;
或
sudo apt list --installed 2>/dev/null | cut -d / -f 1 | grep ^php[0-9].[0-9]$ | xargs;
如果你真的需要只安装 PHP 版本而没有不必要的。
或
sudo update-alternatives --list php;
我在 cyberpnel 中有 nextcloud,这对我有用,cd 到 public_html:
sudo -u webuser /usr/local/lsws/lsphp81/bin/php occ files:scan -v --all
通过以下方式在 PHP 位置上方找到:
locate bin/php
定位工作:
apt install plocate