如何更改Ubuntu 14.04上的php cli版本?
我刚开始使用Linux,在篡改时破坏了一些php设置 如果执行包含以下内容的php脚本:如何更改Ubuntu 14.04上的php cli版本?,php,linux,ubuntu,Php,Linux,Ubuntu,我刚开始使用Linux,在篡改时破坏了一些php设置 如果执行包含以下内容的php脚本:phpinfo()它将php版本显示为5.6, 但是通过命令行,如果我运行php-v,它将返回7.0版本 我希望两个版本都匹配。 如何修复命令行路径以同时使用php 5.6?您可以尝试在终端命令行上将路径设置为正确的php版本: set PATH="/usr/bin/php5.6/bin:$PATH" 修改路径以匹配您自己的PHP5.6路径(即,如果首先安装,它可能类似于“/usr/bin/PHP”) 末尾
phpinfo()代码>它将php版本显示为5.6,
但是通过命令行,如果我运行php-v
,它将返回7.0版本
我希望两个版本都匹配。
如何修复命令行路径以同时使用php 5.6?您可以尝试在终端命令行上将路径设置为正确的php版本:
set PATH="/usr/bin/php5.6/bin:$PATH"
修改路径以匹配您自己的PHP5.6路径(即,如果首先安装,它可能类似于“/usr/bin/PHP”)
末尾的“$PATH”追加了当前路径值,因此不要忘记使用它
sudo update-alternatives --set php /usr/bin/php5.6
请参阅:来自PHP7.1=>PHP5.6
sudo update-alternatives --set php /usr/bin/php5.6
从PHP5.6=>PHP7.1
sudo update-alternatives --set php /usr/bin/php7.1
您可以根据需要更改版本
你可以查一下
问候 这一解释基于Ubuntu 16.04,但也适用于其他版本
这里的大多数答案都通过使用命令来操作php版本
sudo update-alternatives --set ...
虽然这个命令非常有用,但它从未解释过它的确切功能。下面是解释,包括备份和一些选项:
获取信息
- 命令
updatealternations
显示或更改位于可选方向的符号链接,该方向在Ubuntu中通常定义为/etc/alternations
,但也可以更改
- 可以使用命令
更新备选方案--help
显示与更新备选方案相关的完整选项列表,可以使用手动更新备选方案
显示更深入的解释
- 由于命令
updatealternations
主要用于更改特殊文件夹中的符号链接,因此也可以使用常用命令显示该文件夹的内容,下面显示以php
开头的所有项目:
- 要使用命令
updatealternations
显示项目,请使用以下命令:
- 要显示更多详细信息,您可以执行以下操作:
最后,我们仍然想知道可以链接哪些php版本。以下命令显示了/usr/bin/
中当前可用php版本的列表:
备份信息
- 要对这些符号链接进行信息备份,只需将列表保存在文件中,并使用此命令将其保存在桌面上(根据需要调整文件名
alternations php.txt
):
如果愿意,您仍然可以添加命令ls
的结果,如上图所示:
$ echo "command: ls -al /etc/alternatives/php*" >> ~/Desktop/alternatives-php.txt
$ ls -al /etc/alternatives/php* >> ~/Desktop/alternatives-php.txt
。。。以及可用的PHP版本:
$ echo "command: ls -al /usr/bin/php*" >> ~/Desktop/alternatives-php.txt
$ ls -al /usr/bin/php* >> ~/Desktop/alternatives-php.txt
更改命令行的PHP版本
- 如果我们首先过滤
人
,则/etc/alternations/php*/
中的列表包括3行:
- 一方面,为整个系统提供一致的链接可能很有用,另一方面,系统上已经存在多个php版本这一事实意味着它用于开发和php for
cli
,web
和cgi
可以进行不同的配置。
必须更改哪个符号链接?
PHP for web通常不使用/etc/alternations
中的符号链接进行配置,cli
(命令行)通常不使用cgi版本或cgi配置。因此,可以假设仅更改php
的符号链接对命令行有效,可能不需要更改php cgi
和php cgi bin
。
默认情况下,通常会链接最新版本,因此下面的命令使用的是从/usr/bin/
列表中获取的旧版本:
控制
检查更改:
更改已被接受,使用的版本现在是旧版本
- 现在,我们检查手册页的编写版本:
这意味着PHP版本与手册页一致,命令man PHP
返回当前PHP版本的正确描述,并且不需要手动调整手册页以下是更具交互性的方式:
update-alternatives --config php
您将看到所有可用版本的列表,并选择其中一个更改前检查您拥有的内容
php -v
将所有内容更改为PHP7.2
sudo update-alternatives --set php /usr/bin/php7.2
sudo update-alternatives --set phar /usr/bin/phar7.2
sudo update-alternatives --set phar.phar /usr/bin/phar.phar7.2
sudo update-alternatives --set phpize /usr/bin/phpize7.2
sudo update-alternatives --set php-config /usr/bin/php-config7.2
普莱斯克
也就是说,如果您的服务器是使用Plesk管理的(就像我在搜索这个问题时一样),那么您可能在/usr/bin
在本例中,您的PHP版本将位于/opt/plesk/PHP
中,因此您可以作为超级用户使用以下命令(如果您不是超级用户,请先运行su
)来设置PHP CLI版本(在本例中为7.3):
注销并重新登录,然后。。。。瞧
笔记
您必须具有超级用户权限才能运行此操作
如果要将CLI设置为不同的版本,只需将命令中的7.3
替换为所需的版本(在OP的情况下为5.6
如果您想检查Plesk有哪些版本可供您使用,只需运行:ls/opt/Plesk/php
来源:检查这两个ini文件,在不改变或添加任何细节的情况下检查问题的措辞。英语不太可能是作者的第一语言。希望这能有所帮助。我爱你,直到死亡。这非常好。我只有PHP 7.0,所以要安装其他。真正的MVP会给出详细的答案,如these@Sunhat谢谢你答案的p-投票是值得赞赏的:)应该是新的答案,这样更好,更不容易出错和浪费时间
$ echo "command: ls -al /etc/alternatives/php*" >> ~/Desktop/alternatives-php.txt
$ ls -al /etc/alternatives/php* >> ~/Desktop/alternatives-php.txt
$ echo "command: ls -al /usr/bin/php*" >> ~/Desktop/alternatives-php.txt
$ ls -al /usr/bin/php* >> ~/Desktop/alternatives-php.txt
$ ls -al /etc/alternatives/php*
lrwxrwxrwx 1 root root 15 Jan 19 02:58 /etc/alternatives/php -> /usr/bin/php7.2
lrwxrwxrwx 1 root root 19 Jan 19 03:00 /etc/alternatives/php-cgi -> /usr/bin/php-cgi7.2
lrwxrwxrwx 1 root root 23 Jan 19 03:00 /etc/alternatives/php-cgi-bin -> /usr/lib/cgi-bin/php7.2
$ sudo update-alternatives --set php /usr/bin/php7.0
update-alternatives: using /usr/bin/php7.0 to provide /usr/bin/php (php) in manual mode
$: php -v
PHP 7.0.29-1+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Apr 5 2018 08:34:50) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
with Zend OPcache v7.0.29-1+ubuntu16.04.1+deb.sury.org+1, Copyright (c) 1999-2017, by Zend Technologies
$: man php
... [SCROLL DOWN]
VERSION INFORMATION
This manpage describes php, version 7.0.29-1+ubuntu16.04.1+deb.sury.org+1.
COPYRIGHT
...
update-alternatives --config php
php -v
sudo update-alternatives --set php /usr/bin/php7.2
sudo update-alternatives --set phar /usr/bin/phar7.2
sudo update-alternatives --set phar.phar /usr/bin/phar.phar7.2
sudo update-alternatives --set phpize /usr/bin/phpize7.2
sudo update-alternatives --set php-config /usr/bin/php-config7.2
echo "alias php='/opt/plesk/php/7.3/bin/php'" >> ~/.bashrc