业务服务器数据库功能的实现过程
背景:
业务服务器在执行模型代码处理数据库访问时,会去调用mysqli,但是腾讯云的景象里默认是没有安装mysqli拓展的。而在安装过程中会遇到很多问题,这里就梳理下我的发现问题解决流程。
1、 问题:在编写了数据库模型调用后报错
Model代码
错误提示:大概意思是没有安装mysqli的驱动器
2、 要在现有php环境安装mysqli,网上包括小程序开发论坛里面的答复基本一致,都是如下步骤
问题:在执行第3步时报错,提示需要安装php-devel
3、 在安装php-devel时提示(大致意思具体版本号记不清),系统已装的依赖包和所需的依赖包版本不一致。此时卸载已安装包时,原有环境就被破坏了,带来的风险也不可估量,但是业务服务器不可能不访问数据库,所以最终决定,删除现有环境的php。
我是在尝试删除依赖包时连同原php环境一起删除的,原来的版本是5.6.27
4、 卸载结束之后就开始重新安装php,此时也要连同php-mysqli一起安装,
5、 安装完重新启动httpd时报错,通过这命令去查看错误说明时,大概明白是Apache要是用的80的端口被Nginx占用了
6、 此时就不要盲目的去修改Apache里面的端口为其他非80端口。因为两者既然要同时运行就应该有个共存机制。补充一句,业务服务器是没有安装mysql数据库的所以在看php和Nginx的配置不要去安装mysql数据库。
7、 在认识php和Nginx时需要明白默认情况下 Nginx和PHP他俩之间是一点感觉没有的。Apache+PHP编译后生成的是模块文件,而 Nginx+PHP需要PHP生成可执行文件才可以,所以要利用fastcgi技术来实现N ginx与PHP的整合,这个只要我们安装是启用FastCGI即可。安装PHP不仅使用了FastCGI,而且还使用了PHP-FPM这么一个东东西,PHP-FPM说白了是一个管理FastCGI的一个管理器,它作为PHP的插件纯在,在安装PHP要想使用PHP-FPM时就需要把PHP- FPM以补丁的形式安装到PHP中,而且PHP要与PHP-FPM版本一致,这是必须的,切记!
安装php-fpm只需执行命令即可。
8、 安装完成后,就可以去修改php-fpm的配置,把程序的用户和用户组修改了就可以了。修改完了之后就可以也就完成了整个环境的搭建。业务服务器也就能读写数据库了。