最新公告:最新上线Yii2实战教程,欢迎大家订阅

ubuntu系统两个PHP版本坑坏人

0 456

事情经过是这样的,在ubuntu系统下要用EleasticSearch – php 插件,然后用composer安装结果出现和PHP版本不符合的报错。

执行 php -v

vagrant@ubuntu-14:/usr/bin$ php -v
PHP 5.5.9-1ubuntu4.21 (cli) (built: Feb  9 2017 20:54:58) 
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
    with Zend OPcache v7.0.3, Copyright (c) 1999-2014, by Zend Technologies

竟然显示的是php 5.5.9 ,可明明我安装的是php7

执行 whereis php

vagrant@ubuntu-14:/usr/bin$ whereis php
php: /usr/bin/php /usr/bin/X11/php /usr/local/php /usr/share/php /usr/share/man/man1/php.1.gz

查看,果然有两个php版本,/usr/bin/php , /usr/local/php,为保证只运行php7断然决定卸载一个。

卸载php

sudo apt-get autoremove php5-common

执行 whereis php

vagrant@ubuntu-14:/etc/php5$ whereis php
php: /usr/local/php /usr/share/php

执行 php -v

vagrant@ubuntu-14:/etc/php5$ php -v
The program 'php' is currently not installed. You can install it by typing:
sudo apt-get install php5-cli

到此,基本把php5给卸载掉了,然后尝试执行 composer

sudo composer install
/usr/bin/env: php: No such file or directory

什么鬼还找到不那个文件或者目录。

解决办法:这个问题应该是找不到php的执行文件,env会通过$PATH所指定的路径去寻找php的可执行文件。

执行:vim /etc/environment,在PATH最后添加 :/usr/local/php/bin/php,退出保存后,切换到root下执行 source /etc/environment

执行:$PATH,查看一下是否添加成功。

执行:php -v

php -v
PHP 7.0.7 (cli) (built: May  3 2017 17:31:36) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies

可以看到cli已经是php7.0.7啦,到这是不是很开心啦。

执行:composer

 sudo composer install
/usr/bin/env: php: No such file or directory

尼玛,什么鬼怎么还报错,不要着急,接着往下操作。

这是因为我们环境变量的执行文件在/usr/local/bin目录下,而我们的实际执行文件在/usr/local/php/bin/php 下,所以建一个软连接

ln -s /usr/local/php/bin/php /usr/local/bin/php

这样问题就愉快的解决啦。

再次执行composer,稍等片刻,安装成功。

sudo composer install
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 5 installs, 0 updates, 0 removals
  - Installing react/promise (v2.5.1): Downloading (100%)         
  - Installing guzzlehttp/streams (3.0.0): Downloading (100%)         
  - Installing guzzlehttp/ringphp (1.1.0): Downloading (100%)         
  - Installing psr/log (1.0.2): Downloading (100%)         
  - Installing elasticsearch/elasticsearch (v5.3.0): Downloading (100%)         
elasticsearch/elasticsearch suggests installing monolog/monolog (Allows for client-level logging and tracing)
Writing lock file
Generating autoload files
作者:PHP学习网,本文 ubuntu系统两个PHP版本坑坏人 版权归作者,免费文章欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

发表评论:

您必须 才能发表留言!

Yii2实战教程

一套真正的从入门到实践的教程,不说废话的讲解,实例操作,作者的亲自指导,有问题随时提问。现在购买即可获取全套完整教程

PHP学习网 – 公众账号

最新文章
阿里云 lnmp一键安装包远程访问Mysql 188
php memcached扩展安装 175
vagrant package 打包命令的用法 155
Warning: require_once(): open_basedir restriction in effect 错误 238
yaf框架教程(6)- yaf路由配置 481
vagrant问题汇总 481
ubuntu系统两个PHP版本坑坏人 456
yaf框架教程(5)- yaf框架的启动文件 393
yaf框架教程(4)- yaf框架的入口文件 374
ElasticSearch5.5.1 单台服务器部署多个节点 468
随机文章
yii2的百度编辑器ueditor的扩展 570
Mac OS X 搭建nginx+mysql+php-fpm环境 875
背景图片自适应分辨率浏览器大小自动拉伸全屏代码 2687
Ueditor单独调用图片上传和附件上传功能 2201
YII中assets的使用示例 502
yii2将js代码注册到页面的底部 629
ubuntu+nginx+php+mysql安装配置方法命令 747
UEditor配置toolbars工具条 2290
vagrant package 打包命令的用法 155
vagrant问题汇总 481
切换注册

登录

切换登录

注册