在虚拟机上安装了CentOs6.5在上面安装了lnmp开发集成包(php7.1),对于之前没有任何开发经验的我来说,正常且安详滴在集成环境上开发着优雅的小bug.

然而我今天在Composer拉取代码的时候,出现了问题:

PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/php/lib/php/extensions/pdo/pdo_mysql.so' - /usr/local/php/lib/php/extensions/pdo/pdo_mysql.so: undefined symbol: pdo_parse_params in Unknown on line 0
Using version ^3.4 for sonata-project/admin-bundle
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages. Problem 1 The requested package doctrine/orm (installed at v2.4.8, required as ^2.5) is satisfiable by doctrine/orm[v2.4.8] but these conflict with your requirements or minimum-stability.
Problem 2 doctrine/orm v2.5.4 requires ext-pdo * -> the requested PHP extension pdo is missing from your system. doctrine/orm v2.5.3 requires ext-pdo * -> the requested PHP extension pdo is missing from your system. doctrine/orm v2.5.2 requires ext-pdo * -> the requested PHP extension pdo is missing from your system. doctrine/orm v2.5.1 requires ext-pdo * -> the requested PHP extension pdo is missing from your system. doctrine/orm v2.5.0 requires ext-pdo * -> the requested PHP extension pdo is missing from your system. Installation request for doctrine/orm ^2.5 -> satisfiable by doctrine/orm[v2.5.0, v2.5.1, v2.5.2, v2.5.3, v2.5.4]. To enable extensions, verify that they are enabled in those .ini files: /etc/php.ini /etc/php.d/curl.ini /etc/php.d/fileinfo.ini /etc/php.d/json.ini /etc/php.d/phar.ini /etc/php.d/zip.ini
You can also run php --ini inside terminal to see which files are used by PHP in CLI mode.  

这里的问题好像在告诉我,PHP 没有安装 PDO扩展,然而我 通过 phpinfo() 阅览了一下,PDO 是真实存在的,我很是懵逼。

(关于扩展的小提示:通常在windows 上开发,通过 WAMP下直接在php.ini中启用PDO就行(去掉;extension=php_pdo.dll前面的分号“;”),而linux上添加扩展 是以 .so 结尾的扩展名参考如下:https://blog.csdn.net/leedaning/article/details/46314521 通过上面的小提示,我发现我执行不了 phpize , 然后发现我并没有openssl  我差点去执行了 php 的 openssl 源码安装 相关扩展,我这样的行为是愚蠢的,因为扩展是有的,而我现在发现我竟然也没有openssl 这个C源码扩展。原因是我不是编译安装的而是通过集成安装的环境;若真的这么做了我可能会发现新的问题,也甚者会越走越远....)

于是 通过 php -m 我发现php的扩展并没有 pdo   mysqli ..., 而我执行 /usr/local/php/bin/php -m 发现竟然有PDO   MYSQLI 扩展,我很是懵逼!原来问题是这样的 CentOs 其实安装完成后 会自带了一个php5.3的版本,我一直没有发现。而我通过 Composer install 的时候其实走的是默认PHP版本,那默认PHP版本就是CentOs自带的 5.3的版本,我的天呐!!!

通过如下命令才真正的使用了PHP7.1的版本,果然没有任何问题!

/usr/local/php/bin/php composer install

删掉默认CentOs 自带PHP5.3版本 

通过如下命令:匹配php,移除php

[root@localhost MerchantAdmin]# rpm -qa|grep php
php-mbstring-5.3.3-49.el6.x86_64
php-cli-5.3.3-49.el6.x86_64
php-devel-5.3.3-49.el6.x86_64
php-common-5.3.3-49.el6.x86_64
php-5.3.3-49.el6.x86_64
php-bcmath-5.3.3-49.el6.x86_64
[root@localhost MerchantAdmin]# yum uninstall php-common
Loaded plugins: fastestmirror, refresh-packagekit, security
No such command: uninstall. Please use /usr/bin/yum --help
[root@localhost MerchantAdmin]# yum remove php-common

删除完之后执行了 php -v  

[root@localhost MerchantAdmin]# php -v
-bash: /usr/bin/php: No such file or director  

 由此可见 php 并没有全局使用的权限,继续修改添加全局目录

[root@localhost bin]# vim /etc/profile

 添加如下后两句即可 

#set for nodejs
export NODE_HOME=/usr/local/src/node-v8.9.4
export PATH=$NODE_HOME/bin:$PATH
export PHP_HOME=/usr/local/php
export PATH=$PATH:$PHP_HOME/bin

 然后重启 profile

source /etc/profile
[root@localhost bin]# source /etc/profile
[root@localhost bin]#
[root@localhost bin]#
[root@localhost bin]# php -v
PHP 7.1.7 (cli) (built: Jan 23 2018 19:32:07) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies

终于大功告成,坑太深! 

 

CentOs 自带 PHP 之坑的更多相关文章

  1. linux python3.5.0安装并替代centos自带的python

    CentOS自带2.7.3版本的Python,旧版本无法及时支持新功能,所以要安装更高版本的Python3.5.0. 1.下载#wget https://www.python.org/ftp/pyth ...

  2. 华为CloudIDE免费公测,带你出坑带你飞

    你的代码仓库上线了吗?是不是有时候遇到这样的问题? 只想浏览一下代码,却发现线上浏览效果不佳,高亮显示什么的都没有.而在桌面端浏览要需要先同步代码,再用桌面端的IDE打开.尤其是使用git的时候,先要 ...

  3. 3-STM32带你入坑系列(自己封装点亮一个灯的库--Keil)

    2-STM32带你入坑系列(点亮一个灯--Keil) 首先建一个stm32f103x.h的文件,然后 #include "stm32f103x.h" 还记得上一节 现在呢就是做一个 ...

  4. 2-STM32带你入坑系列(点亮一个灯--Keil)

    1-STM32带你入坑系列(STM32介绍) 首先是安装软件 这一节用Kei来实现,需要安装MDK4.7这个软件,怎么安装,自己百度哈.都学习32的人了,不会连个软件都不会安装吧....还是那句话 没 ...

  5. 1-STM32带你入坑系列(STM32介绍)

    由于自己的物联网开发板上的单片机是用的STM32,但是有些朋友没有用过,所以我将用这块开发板,带着大家入门STM32 先介绍一下STM32,我是在大三下学期的时候开始接触STM32,当时是想做一个小车 ...

  6. 跳过 centos部署 webpy的各种坑

    用centos部署webpy发现的各种坑: 1.python 版本: 2.中文编码: 3.web模块路径: 在命令行里输入python,能import web,但是网站错误报告一直报告没有找到web模 ...

  7. 如何卸载CentOS自带的apache

    查看安装的组件: rpm -qa | grep httpd 如果预装有apache,那么会显示像httpd-2.2.3-22.el5.centos这种的组件名. 卸载组件: rpm -e httpd- ...

  8. 在centos使用redis几个坑

    问题来源 最近公司的平台需要做一些分布式的规划,其中会话我们打算用redis来存储,因为之前也有了解过redis,但都是在windows上使用,为了发挥redis的优势,这次我们打算直接在Linux上 ...

  9. 解决在linux下安装centos自带的mysql后,出现navicat远程连接失败的问题

    最近在学习关于数据库相关的东西,所以下午尝试在linux下自己搭建了myql,我的mysql是直接安装centos系统自带的,安装过程不再赘述 安装完成后,从linux后台登录也显示成功,但是就是从n ...

随机推荐

  1. 【转】基于Ubuntu Server16.04 安装Odoo11

    使用 非 root 用户 进行下面的测试: 本文使用 有sudo 权限的 odoo 用户进行测试()如果是 阿里云,可以先创建 odoo 用户 sudo adduser odoo 2:给root 权限 ...

  2. python 回溯法 子集树模板 系列 —— 8、图的遍历

    问题 一个图: A --> B A --> C B --> C B --> D B --> E C --> A C --> D D --> C E -- ...

  3. [C#源代码]使用SCPI指令对通信端口(RS232/USB/GPIB/LAN)进行仪器编程

    本文为原创文章.源代码为原创代码,如转载/复制,请在网页/代码处明显位置标明原文名称.作者及网址,谢谢! 本软件是基于NI-VISA/VISA32(Virtual Instrument Softwar ...

  4. vs2013 std::sort 分析

    由于之前在debug模式下发现stl的sort简直慢到不能忍,所以自己写了一个sgi的sort,后来发现在release模式下,vs自带的sort快的不行,就研究了下. 这里有些和sgi-stl相通的 ...

  5. 最简单的iOS网络请求

    做iOS开发,说到网络请求,大家可能都不约而同的提到AFN,可以说大家的网络请求都是用AFN封装而成,AFN的强大易用的确很好. 但是版本升级就会出现一些问题,所以就自己基于iOS原生封装了一个网络请 ...

  6. 巧用cheerio重构grunt-inline

    grunt-inline是楼主之前写的一个插件,主要作用是把页面带了__inline标记的资源内嵌到html页面去.比如下面的这个script标签. <script src="main ...

  7. 阿里云CentOS 7.4 64位,jdk1.6、mysql5.7、tomcat6部署步骤(个人记录)

    jdk1.6.mysql5.7.tomcat6部署步骤 一.安装jdk1.6 查看当前系统jdk的版本:java -version 方法一:利用yum源来安装jdk(此方法不需要配置环境变量) 查看y ...

  8. Ubuntu侧边任务栏自动隐藏

    设置>>Dock>>{自动隐藏Dock}选项打开

  9. 红黑树插入与删除完整代码(dart语言实现)

    之前分析了红黑树的删除,这里附上红黑树的完整版代码,包括查找.插入.删除等.删除后修复实现了两种算法,均比之前的更为简洁.一种是我自己的实现,代码非常简洁,行数更少:一种是Linux.Java等源码版 ...

  10. SCRUM 12.09 软件工程第二周计划

    第二轮迭代的第二周开始了,上一周我们进行了对代码优化的探索与自我审查. 本周,我们有以下两点目标要实现: 1.对客户端进行优化. 2.网络爬虫爬取美团外卖. 客户端优化主要开发人员:高雅智.牛强.彭林 ...