阿里云ECS服务器配置LAMP时安装配置PHP扩展填坑(三)

apache+mysql配置完成、问题解决后,接下来就是安装配置PHP了,按照阿里云官方lamp配置文档(https://help.aliyun.com/document_detail/50774.html)正常安装一般是没有问题的(建议安装配置编译PHP的时候加上--with-gd \),但是,无论进行什么操作都会有warnning类型的提示,提示如下图:
出现这样的错误是因为,PHP缺少curl、fileinfo、json、mcrypt、phar、zip(可能还会有pdo)这几个扩展,下面提供解决方案:
以安装fileinfo为例,其他几个扩展跟安装fileinfo扩展步骤相同、内容相同,只是扩展名字不同。
第一步:找到fileinfo扩展所在位置:
使用命令:find / -name fileinfo
查找解果:/root/php-7.0.12/ext/fileinfo
进入fileinfo扩展所在目录:cd /root/php-7.0.12/ext/fileinfo
那么,也就基本确定,所有的扩展都在/root/php-7.0.12/ext/下面。
第二步:查找phpize所在位置(phpize就是安装扩展的工具)
使用命令:find / -name phpize
查找结果:/usr/local/php/bin/phpize
第三步:执行下面命令
在扩展目录执行:/usr/local/php/bin/phpize
出现如下结果,说明执行成功:
第四步:执行下面命令
在扩展目录执行:./configure --with-php-config=/usr/local/php/bin/php-config
出现如下结果,说明执行成功:
第五步:执行下面命令
在扩展目录执行:make && make install
出现如下结果,说明执行成功:

第六步:添加扩展到php.ini
执行命令:vim /etc/php.ini
在extension群的下面添加如下内容:
;extension=fileinfo.so
注意:添加的扩展前面需要带英文分号(;),不然会有新的问题出现,具体原因尚未查明,如有童鞋知道,可在评论区留言,感谢。
第七步:查看fileinfo状态
重启Apache之后,刷新浏览器访问的phpinfo()文件,出现如下图所示,说明安装fileinfo扩展成功了:
如果想要安装其他PHP扩展,继续按照第一步到第七步执行就行了。
执行到所有的扩展执行完毕,到最后再执行php -v的时候又出现了新的错误,错误信息中包含如下内容:
 PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/php/lib/php/extensions/no-debug-zts-20151012/mcrypt.so' - /usr/local/php/lib/php/extensions/no-debug-zts-20151012/mcrypt.so: undefined symbol: _tsrm_ls_cache in Unknown on line 0
 PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/php/lib/php/extensions/no-debug-zts-20151012/json.so' - /usr/local/php/lib/php/extensions/no-debug-zts-20151012/json.so: undefined symbol: _tsrm_ls_cache in Unknown on line 0
 PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/php/lib/php/extensions/no-debug-zts-20151012/phar.so' - /usr/local/php/lib/php/extensions/no-debug-zts-20151012/phar.so: undefined symbol: _tsrm_ls_cache in Unknown on line 0
经过查阅资料(https://github.com/yaoguais/phpng-xhprof/issues/3),这样的错误提示是因为安装的PHP使用了线程安全的机制导致的,本人暂未找到应对办法,如有知道的童鞋,请留言联系,感谢。
既然这条路走不通,那么该怎么办呢,查阅资料(http://www.cnblogs.com/T8881/p/6397264.html)总结后,我决定摒弃线程安全机制,使用非线程安全机制编译安装PHP,那么就需要卸载之前安装的PHP了,卸载过程略过,有需要的童鞋可以去网上找方法,卸载完成后,下面开始重新安装非线程安全的PHP,编译PHP的代码只需要在阿里云文档中删掉 --enable-maintainer-zts \ 即可,同时记得加上--with-gd \ 其余安装配置步骤依照阿里云官方文档继续,,安装配置PHP完成之后,再次执行php -v 不再出现错误提示,即便如此,curl、fileinfo、zip等扩展依然没安装,如果需要继续安装这几个扩展,依照上面的第一步到第七步即可。

如果提示:configure: error: mcrypt.h not found. Please reinstall libmcrypt

解决方案:https://blog.csdn.net/default7/article/details/32312061

这次总算把阿里云服务器ECS安装配置LAMP的坑都填了,经此几战,我认为还是要有足够的耐心应对各种坑,要积极谷歌百度,查找类似解决方案,同时要及时查看错误日志,坚持就是胜利,加油!
==================================>
2017.09.04
如果上述方法都不行,可以尝试在执行第二步之前执行命令:make clean 然后,继续按照步骤执行,也可以解决问题,亲测可用。
******************************只要思想不滑坡,办法总比困难多**************************

阿里云ECS服务器配置LAMP时安装配置PHP扩展填坑(三)相关推荐

  1. 阿里云ECS服务器配置LAMP时安装配置mysql数据库填坑(二)

    阿里云ECS服务器配置LAMP时安装配置mysql数据库填坑(二) 上篇文章讲到的是安装apache服务器时遇到的坑,经过排错总算是把Apache的坑填完了,没想到安装mysql又跳坑里了,真是不得不 ...

  2. 阿里云ECS服务器配置LAMP使用IP地址无法访问填坑(一)

    阿里云ECS服务器配置LAMP使用IP地址无法访问填坑(一) 闲来无事,想配置一下阿里云赠送半年的免费ECS服务器,根据阿里云的官方文档,手动搭建LAMP环境刚开始就遇到了麻烦,配置好apache之后 ...

  3. 阿里云ECS服务器配置ubuntu安装openfire服务器

    最近搞了一台阿里云的ECS服务器,因为搞活动半年免费,所以就申请了一台,过两天就批准下来,顺便多花了1百多RMB买了固定IP.总体说来还是挺值的,觉得一个人用挺浪费,分享出来跟大家一起玩玩. 搞台服务 ...

  4. 阿里云 ECS 服务器如何一键安装宝塔面板

    阿里云 ECS 服务器和宝塔面板是最佳搭配伙伴,也是最适合新手.老手使用的一款云服务器搭配组合.无论 windows 服务器还是 linux 服务器,阿里云服务器都提供了对应版本的宝塔面板供大家取用, ...

  5. 阿里云ECS服务器配置全攻略 1

    阿里云ECS服务器配置全攻略 1.登录阿里云:https://www.aliyun.com/    点击右上角登录账号 2.点击右上角的"控制台",进入阿里云控制台界面 3.点击左 ...

  6. 阿里云ECS服务器Linux环境下配置php服务器(三)--项目部署篇

    在前两篇里,我们分别介绍了如何购买阿里云服务器,安装基本软件和配置(请看阿里云ECS服务器Linux环境下配置php服务器(一)--基础配置篇) 以及如何安装使用phpMyAdmin(请看阿里云ECS ...

  7. 阿里云centos mysql_阿里云ECS服务器CentOS7上安装MySql服务-阿里云开发者社区

    阿里云ECS服务器CentOS7上安装MySql服务 ---------------------------------------------- 使用root登录 1.确保服务器系统处于最新状态 [ ...

  8. 阿里云ECS服务器CentOS7上安装服务器安全狗Linux版

    阿里云ECS服务器CentOS7上安装服务器安全狗Linux版 ---------------- 使用root登录 1.确保服务器系统处于最新状态[root@localhost ~]# yum -y ...

  9. 记一次阿里云ECS服务器centos6.5无法使用epel源的爬坑

    说明: 提示:提示:这篇文章仅是记录自己成长路上的愚笨,不喜勿喷,同时也希望各路大神提出优秀的观点.谢谢!! 问题描述: :今天生产上出现了阿里云ECS服务器内网流出带宽占用过高的问题.经过网上查询阿 ...

最新文章

  1. 【jstl】jstl的基本操作
  2. Real-Time DNA Sequencing from Single Polymerase Molecules
  3. linux进程间通讯-共享内存
  4. 蓝桥杯 【基础练习】 特殊回文数
  5. C语言 —— 获取字符串中两个字符之间的的数据
  6. 推荐系统炼丹笔记:推荐系统Bias/Debias大全
  7. python基础语法测评_3. Python基础语法
  8. 系统性能优化- Session丢失
  9. centos6.5安装ansible和tower
  10. 我是如何出版一本书的?
  11. 清理winsxs的小工具
  12. 提高信息系统的安全防护能力,一篇文章带你了解等保测评的重要性
  13. 收藏了800道Java后端经典面试题,分享给大家,希望你找到自己理想的Offer呀~
  14. eBPF/XDP实现防火墙功能
  15. iOS常用开发工具及第三方框架
  16. poker -3 +白鹭引擎
  17. mysql强制走索引
  18. Android 动态加载多版本SDK之DexClassLoader实践
  19. 1069 微博转发抽奖——c++实现
  20. EFI启动盘修改BIOS隐藏选项DVMT等显存参数提升性能

热门文章

  1. IDEA--连接远程windows服务器
  2. AD中的mechanical层含义
  3. Web安全测试-Checklist
  4. MyBatis Plus之逻辑删除和分页插件使用
  5. quatzy获取参数强转异常,devtools类加载机制问题
  6. MATLAB图像处理学习——高通滤波(频域滤波(二))
  7. 查看linux操作系统文件夹结构
  8. JavaScript setTimeout用法,js setTimeout带参数
  9. cd-hit linux,使用cd-hit对蛋白质或核酸序列进行聚类
  10. 奇妙的 Docker Inspect