在linux下,因为我找不到静态编译的php5.4.45版本,所以我用了docker
我不太想用mysql,因为在docker-compose里面,让其他服务访问它,不容易,再说mysql的版本也固定不下来,老是升级
____
我在看 db.php 的时候,发现该网站可以使用 sqlite 来作为数据库
但是当我启动时,我发现它还是报错:
“”“
错误代码:14
错误信息:SQLSTATE[HY000] [14] unable to open database file
错误发生在 /var/www/html/class/db.php 的第 235 行
错误追踪信息:
#0 /var/www/html/class/db.php(235): PDO->__construct('sqlite:/var/www...')
#1 /var/www/html/class/db.php(287): db::conn(true)
#2 /var/www/html/class/db.php(333): db->pdo(true)
#3 /var/www/html/class/db.php(363): db->sqlexec(true, 'SELECT id as to...', Array)
#4 /var/www/html/class/bbs.php(427): db->select('id as topic_id', 'bbs_topic_meta', 'WHERE ctime>171...', 0, 21)
#5 /var/www/html/page/index/index.php(11): bbs->newTopicList(21, 0, 'WHERE ctime>171...')
#6 /var/www/html/q.php(74): include('/var/www/html/p...')
#7 {main}
”“”
___
我的docker-compose设置以及tiger_bbs版本可以看以下 repository 的 readme file:
https://gitlab.com/yingshaoxo/tiger_bbs_php5.4.45#docker-compose"""
version: "3.9"
services:
old_php:
image: php:5.4.45-apache
#network_mode: "host"
ports:
- '7071:80'
volumes:
- .:/var/www/html:rw
restart: always
"""
@yingshaoxo,你要给
/var/www/html/db
文件夹写入权限(chmod 0777 /var/www/html/db
)。不过其实程序早就不支持sqlite了,因为我后来写了很多MySQL专属语法,用sqlite肯定会报SQL语法错误,你得自己改。