业务服务器数据库功能的实现过程

 

背景:

业务服务器在执行模型代码处理数据库访问时,会去调用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的配置,把程序的用户和用户组修改了就可以了。修改完了之后就可以也就完成了整个环境的搭建。业务服务器也就能读写数据库了。