步骤19:从虎绿林下载纯真IP数据库
这个页面会报错:
http://localhost:8080/q.php/tools.ua.html
执行以下命令下载该数据库
curl -o ~/hu60wap6/src/db/qqwry.dat https://hu60.cn/db/qqwry.dat
下完就能打开了。PHP8.1报了一些兼容性警告,待修复。
重启手机后怎么快速启动网站?
创建一个启动脚本:
cat > ~/run.sh <<EOF # 启动mysql ~/../usr/etc/init.d/mysql start # 启动nginx nginx # 启动php-fpm php-fpm # 检查是否启动成功 pstree EOF
给执行权限:
chmod +x ~/run.sh
启动网站:
~/run.sh
以后每次要启动网站,执行
~/run.sh
即可。
@上善若水,纯真ip数据库需要放在db文件夹,你可以从虎绿林下载一个
@上善若水,对了,宝塔还需要修改允许PHP打开的文件夹。
备注:要先把一个文件夹设为网站根目录,宝塔才会在这个文件夹创建
.user.ini
隐藏文件。cd /www/wwwroot/网站根目录/ cat .user.ini
该文件禁止修改,要修改,需要先取消禁止修改标识:
chattr -i .user.ini
然后把文件内容修改成这样:
open_basedir=原本的内容:/tmp/:/dev/shm/
再加上禁止修改标识:
chattr +i .user.ini
然后在宝塔里重启PHP。
@上善若水,建议你在宝塔上执行64楼和65楼的操作获得虎绿林程序,以保留符号连接和较好的性能。
对于65楼,/www/wwwroot/网站根目录/
就是/www/wwwroot/hu60wap6/src/
。
@上善若水,宝塔也支持符号连接和mysql unix套接字连接,所以最佳方法其实是这样:
cd /www/wwwroot git clone --recursive https://gitee.com/hu60t/hu60wap6.git php ./hu60wap6/src/script/init.php sed -i "s/'root'/'hu60'/g" ./hu60wap6/src/config/db.php
然后把
/www/wwwroot/hu60wap6/src
设为网站根目录即可。
@上善若水,对了,把
$CC_DATA
放在非tmpfs里性能会很差,因为宝塔支持tmpfs,所以最佳方案是撤销修改:cp config/security.default.php config/security.php
注意:请先执行步骤13。如果你没有执行过
php ~/hu60wap6/src/script/init.php
,说明你错过了步骤13。如果你先执行了步骤15,请在执行步骤13后再次执行步骤15。
步骤15:修改配置文件中的无效路径。
同样是php8.1,dev.hu60.cn可以打开,只是有一堆警告:
https://dev.hu60.cn/q.php/
那为什么Termux上的打不开?看起来问题不是因为不兼容。
报错发生在
cc.php
,是文件打开失败。哦,是配置的问题!
cc.php
默认写入位置在/dev/shm/
和/tmp/
,安卓写不了。执行以下命令替换写入路径为
~/hu60wap6/src/temp/
:sed -i "s#'/dev/shm/#ROOT_DIR.'/temp/#g" ~/hu60wap6/src/config/security.php sed -i "s#'/tmp/#ROOT_DIR.'/temp/#g" ~/hu60wap6/src/config/security.php mkdir ~/hu60wap6/src/temp/
然后再访问看看:
哈,变成打不开数据库错误了。看起来修复配置中的无效路径完成了。
@上善若水,请仔细阅读这一步,理解它到底做了什么,看一看修改后的文件变成了什么样子。
https://hu60.cn/q.php/bbs.topic.102524.2.html?floor=23#23
我决定修改这一步,使用
ROOT_DIR
代替绝对路径,防止移动文件夹后遇到错误。
注意:请先执行步骤13。如果你没有执行过
php ~/hu60wap6/src/script/init.php
,说明你错过了步骤13。如果你先执行了步骤16,请在执行步骤13后再次执行步骤16。
步骤16:修复数据库打不开问题
打不开数据库的原因是
No such file or directory
,为什么PHP连接数据库,不说端口无法访问,却报错说文件不存在?原来连接本地数据库(
localhost
)并不会走网络,走的是文件(本地unix套接字),文件在这里:
ls一下就会发现文件真的不存在:
ls /data/data/com.termux/files/usr/tmp/mysqld.sock
而且就算修改配置让mysql把这个文件创建出来,最后也不能正常使用。看起来是mysql的unix套接字和安卓有兼容性问题(php-fpm却没有,奇怪)。
所以只能退而求其次,让PHP去连接3306端口。执行以下命令:
sed -i "s/'localhost'/'127.0.0.1'/g" ~/hu60wap6/src/config/db.php
此外我们还需要修改连接数据库的用户名和密码,默认是
root
和root
,但我们创建的是hu60
和hu60
。执行以下命令:sed -i "s/'root'/'hu60'/g" ~/hu60wap6/src/config/db.php
@上善若水,登录后别选数据库,切换到“账户”选项卡,新建一个用户,勾选“创建同名数据库”。
@上善若水,好吧
@上善若水,你发给我的文件本身就不完整,修改之前也打不开。
@上善若水,tar会保留符号连接,解压时如果解压软件不支持符号连接跟随,符号连接就会丢失,或者只解压出一个内容是路径的错误文件。