前言
navicat目录下有一个用来远程连接sqlite的工具ntunnel_sqlite.php,拷贝到服务器上安装即可实现远程访问服务器上的sqlite文件
远程服务器安装ntunnel_sqlite.php
1、nginx作为容器访问php - 缺少php运行环境
ntunnel_sqlite.php直接放到服务器的nginx目录下 直接访问 ,
结果直接就下载了,并没有显示php页面,
原因:
nginx容器中没有php的运行环境,php被当作浏览器不能解析的文件被直接下载
2、1panel中创建php运行环境
3、1panel使用php环境建站
4、访问php页面测试连接 - 报错 找不到文件
有了php运行环境,这次可以访问到php页面了,但是点击测试连接,提示找不到文件
原因:
数据库文件在宿主机上,而php运行在php8的容器上,需要把文件映射到容器中
这里还有一个小插曲,一开始想着文件是在nginx站点访问的,应该把数据库文件映射到nginx站点容器中,但是怎么映射都访问不到,后来才恍然大悟,想起来php是运行在php8的容器环境中的,应该映射到php8容器中
5、访问php页面测试连接 - 报错 500
这次能访问到文件了,但是报错500
解决方案:
打开php文件,在每个有可能出错的地方都加上print_r,日志没有打出来的地方就是报错的地方,不断的缩小有问题的代码范围,最后确定了有问题的代码段
如下图所示,11111打印出来了,但是22222222没有打印出来,判断应该是这个nil的问题,虽然我不懂php,但是这里只是判断了一下是否是nil,去掉应该也无伤大雅,我就直接删除了这段代码,保存后重新访问php页面,测试连接成功!!!
if ($conn == nil) {
$errno_c = 202;
}