1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 阿里云ECS服务器配置LAMP时安装配置PHP扩展填坑(三)

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

时间:2022-06-30 08:09:59

相关推荐

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

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

apache+mysql配置完成、问题解决后,接下来就是安装配置PHP了,按照阿里云官方lamp配置文档(/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-1012/mcrypt.so' - /usr/local/php/lib/php/extensions/no-debug-zts-1012/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-1012/json.so' - /usr/local/php/lib/php/extensions/no-debug-zts-1012/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-1012/phar.so' - /usr/local/php/lib/php/extensions/no-debug-zts-1012/phar.so: undefined symbol: _tsrm_ls_cache in Unknown on line 0

经过查阅资料(/yaoguais/phpng-xhprof/issues/3),这样的错误提示是因为安装的PHP使用了线程安全的机制导致的,本人暂未找到应对办法,如有知道的童鞋,请留言联系,感谢。

既然这条路走不通,那么该怎么办呢,查阅资料(/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

解决方案:/default7/article/details/32312061

这次总算把阿里云服务器ECS安装配置LAMP的坑都填了,经此几战,我认为还是要有足够的耐心应对各种坑,要积极谷歌百度,查找类似解决方案,同时要及时查看错误日志,坚持就是胜利,加油!

==================================> .09.04 如果上述方法都不行,可以尝试在执行第二步之前执行命令:make clean 然后,继续按照步骤执行,也可以解决问题,亲测可用。

******************************只要思想不滑坡,办法总比困难多**************************

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。