登录 立即注册

找到2061个回复 (用户: 老虎会游泳)

老虎会游泳 62楼回复 老虎会游泳[连载][初步完结] 在安卓Termux中安装虎绿林网站程序 (2022-02-01//)

@上善若水,对了,把$CC_DATA放在非tmpfs里性能会很差,因为宝塔支持tmpfs,所以最佳方案是撤销修改:

cp config/security.default.php config/security.php
老虎会游泳 23楼回复 老虎会游泳[连载][初步完结] 在安卓Termux中安装虎绿林网站程序 (2022-02-01//)

注意:请先执行步骤13。如果你没有执行过php ~/hu60wap6/src/script/init.php,说明你错过了步骤13。如果你先执行了步骤15,请在执行步骤13后再次执行步骤15。


步骤15:修改配置文件中的无效路径。

同样是php8.1,dev.hu60.cn可以打开,只是有一堆警告:
https://dev.hu60.cn/q.php/

Screenshot_20220201_004849_com.UCMobile.jpg

那为什么Termux上的打不开?看起来问题不是因为不兼容。

http://localhost:8080/q.php/

Screenshot_20220201_004945.jpg

报错发生在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/

然后再访问看看:

http://localhost:8080/q.php/

哈,变成打不开数据库错误了。看起来修复配置中的无效路径完成了。

Screenshot_20220201_005909_com.UCMobile.jpg

老虎会游泳 61楼回复 老虎会游泳[连载][初步完结] 在安卓Termux中安装虎绿林网站程序 (2022-02-01//)

@上善若水,请仔细阅读这一步,理解它到底做了什么,看一看修改后的文件变成了什么样子。

https://hu60.cn/q.php/bbs.topic.102524.2.html?floor=23#23


我决定修改这一步,使用ROOT_DIR代替绝对路径,防止移动文件夹后遇到错误。

老虎会游泳 59楼回复 老虎会游泳[连载][初步完结] 在安卓Termux中安装虎绿林网站程序 (2022-02-01//)
老虎会游泳 26楼回复 老虎会游泳[连载][初步完结] 在安卓Termux中安装虎绿林网站程序 (2022-02-01//)

注意:请先执行步骤13。如果你没有执行过php ~/hu60wap6/src/script/init.php,说明你错过了步骤13。如果你先执行了步骤16,请在执行步骤13后再次执行步骤16。


步骤16:修复数据库打不开问题

打不开数据库的原因是No such file or directory,为什么PHP连接数据库,不说端口无法访问,却报错说文件不存在?

原来连接本地数据库(localhost)并不会走网络,走的是文件(本地unix套接字),文件在这里:

Screenshot_20220201_012543_com.UCMobile.jpg

ls一下就会发现文件真的不存在:

ls /data/data/com.termux/files/usr/tmp/mysqld.sock

Screenshot_20220201_012704.jpg

而且就算修改配置让mysql把这个文件创建出来,最后也不能正常使用。看起来是mysql的unix套接字和安卓有兼容性问题(php-fpm却没有,奇怪)。

Screenshot_20220201_013802_com.termux.jpg

所以只能退而求其次,让PHP去连接3306端口。执行以下命令:

sed -i "s/'localhost'/'127.0.0.1'/g" ~/hu60wap6/src/config/db.php

此外我们还需要修改连接数据库的用户名和密码,默认是rootroot,但我们创建的是hu60hu60。执行以下命令:

sed -i "s/'root'/'hu60'/g" ~/hu60wap6/src/config/db.php

Screenshot_20220201_014615.jpg

老虎会游泳 56楼回复 老虎会游泳[连载][初步完结] 在安卓Termux中安装虎绿林网站程序 (2022-02-01//)

@上善若水,登录后别选数据库,切换到“账户”选项卡,新建一个用户,勾选“创建同名数据库”。

Screenshot_20220201_112217_com.huawei.browser.jpg

老虎会游泳 54楼回复 老虎会游泳[连载][初步完结] 在安卓Termux中安装虎绿林网站程序 (2022-02-01//)

@yucho,如果不像42楼那样复制文件,你可能会遇到符号连接丢失问题。src/tpl/*/js文件夹中存在大量符号连接。
丢失这些符号连接可能不会马上报错,但是会让一些前端功能失效,比如HEIC图片解码等。

老虎会游泳 47楼回复 老虎会游泳[连载][初步完结] 在安卓Termux中安装虎绿林网站程序 (2022-02-01//)

@上善若水,因为nginx.conf需要修改以支持pathinfo
nginx.conf(1.58 KB)(不能直接使用,这是 @上善若水 的特定配置)


附可以直接使用的完整版:

nginx.conf(3.06 KB)

老虎会游泳 53楼回复 老虎会游泳[连载][初步完结] 在安卓Termux中安装虎绿林网站程序 (2022-02-01//)

@上善若水,好吧

老虎会游泳 51楼回复 老虎会游泳[连载][初步完结] 在安卓Termux中安装虎绿林网站程序 (2022-02-01//)

@上善若水,你发给我的文件本身就不完整,修改之前也打不开。

老虎会游泳 45楼回复 老虎会游泳[连载][初步完结] 在安卓Termux中安装虎绿林网站程序 (2022-02-01//)

@上善若水,tar会保留符号连接,解压时如果解压软件不支持符号连接跟随,符号连接就会丢失,或者只解压出一个内容是路径的错误文件。

老虎会游泳 42楼回复 老虎会游泳[连载][初步完结] 在安卓Termux中安装虎绿林网站程序 (2022-02-01//)

@上善若水,这样可以,出的两个错误无关紧要:

cp -rL hu60wap6/src /sdcard

Screenshot_20220201_102536.jpg

老虎会游泳 41楼回复 老虎会游泳[连载][初步完结] 在安卓Termux中安装虎绿林网站程序 (2022-02-01//)

@上善若水,哦对了,不打包,用cp -r直接复制到存储卡可能可以,因为cp在目标目录不支持符号连接的时候会复制整个文件。

呃,并不行

Screenshot_20220201_102317_com.termux.jpg

老虎会游泳 40楼回复 老虎会游泳[连载][初步完结] 在安卓Termux中安装虎绿林网站程序 (2022-02-01//)

@上善若水,但是,虎绿林程序与ksweb不兼容:
Screenshot_20220201_095720_com.UCMobile.jpg

老虎会游泳 39楼回复 老虎会游泳[连载][初步完结] 在安卓Termux中安装虎绿林网站程序 (2022-02-01//)

@上善若水,这部分需要修改:

location ~* \.php$ {
  ……
}

改成(路径自己替换。如果想让别人帮忙替换,应该发文字而不是截图):

location ~ [^/]\.php(/|$) {
            root   /data/data/com.termux/files/usr/share/nginx/html;
            fastcgi_pass   unix:/data/data/com.termux/files/usr/var/run/php-fpm.sock;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            include        fastcgi_params;

            # parse and set $_SERVER['PATH_INFO']
            set $real_script_name $fastcgi_script_name;
            if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
                set $real_script_name $1;
                set $path_info $2;
            }
            fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
            fastcgi_param SCRIPT_NAME $real_script_name;
            fastcgi_param PATH_INFO $path_info;
        }
老虎会游泳 37楼回复 老虎会游泳[连载][初步完结] 在安卓Termux中安装虎绿林网站程序 (2022-02-01//)

Linux命令行小知识

cd是什么?

change directory(改变目录)

你可以cd到其他目录看看:

Screenshot_20220201_025659.jpg

..表示上级目录,可以级联,比如../..上两级目录。


为什么不能用start.sh执行脚本,必须用~/start.sh

这是一个安全措施。假设你解压了一个压缩包,想执行ls看看里面有什么,结果别有用心的人往里面放了一个可执行文件ls,一执行是一个勒索病毒,那不就糟了。

所以当你不指定路径时,只会执行在PATH环境变量中列出的那些文件夹里面的可执行文件和脚本。主目录不在PATH环境变量中,所以必须指定路径才能执行。

指定路径有两种方法,一种是绝对路径,无论你cd到了哪里都能执行成功:

~/start.sh

还有一种是相对路径:

./start.sh

你必须先cd到主目录才能执行成功,否则就找不到文件,因为它表示当前目录内的start.sh


PATH环境变量?这是什么?

echo $PATH

Screenshot_20220201_030616.jpg

默认就一个文件夹,但是也可以设置为冒号分隔的多个文件夹。具体就不讲了,你可以自己搜索资料。

老虎会游泳 36楼回复 老虎会游泳[连载][初步完结] 在安卓Termux中安装虎绿林网站程序 (2022-02-01//)

Linux命令行小知识

~是什么?

~是主目录的简写。在Termux中,主目录是/data/data/com.termux/files/home,太长了。还好我们可以用~代替。你每写一个~,就相当于写下了/data/data/com.termux/files/home

注意,~不能用在引号中,否则会失去代表主目录的效果,就变成了~字符本身。单引号双引号都不可以。

Screenshot_20220201_025042.jpg

那在引号里面怎么表示主目录?

$HOME代替。注意只能用在双引号里。单引号里不支持任何代替方式,只能写完整路径。

Screenshot_20220201_025441.jpg


为什么你知道主目录是/data/data/com.termux/files/home

图中的三种方法可以确定:

Screenshot_20220201_025235.jpg

老虎会游泳 32楼回复 老虎会游泳[连载][初步完结] 在安卓Termux中安装虎绿林网站程序 (2022-02-01//)

如何停止网站?

创建一个停止脚本:

cat > ~/stop.sh <<EOF
# 结束网站进程
killall php-fpm nginx mariadbd

# 等待进程结束
sleep 1

# 检查
pstree
EOF

给执行权限:

chmod +x ~/stop.sh

停止网站:

~/stop.sh

以后每次要停止网站,运行~/stop.sh即可。


问题:为什么是mariadbd

回答1:这是我们从pstree里面看到的进程名称。

回答2:结尾的d表示这是一个守护进程(daemon),很多服务进程都会这么命名,比如httpd、crond。


问题:为什么不用~/../usr/etc/init.d/mysql stop

回答:亲测无效,报错说找不到pid。所以还是用killall吧。


问题:killall会不会导致数据损坏?

不会,因为它并不是强行停止进程,而是给进程发信号要它主动停止运行。所以进程是有机会正常退出的。如果进程真的卡住了,那就算执行了killall也不会退出,你就会知道它卡住了。

如果进程真的卡住了,可以用killall -9 进程名来结束进程,注意这可以导致数据损坏,因为进程没有任何机会正常退出,就算进程没有卡住也没机会。

老虎会游泳 1楼回复 老虎会游泳[连载][初步完结] 在安卓Termux中安装虎绿林网站程序 (2022-02-01//)

步骤1,需要由 @老虎会游泳 进行:
修复虎绿林程序和PHP8.1的兼容性问题,并且放弃对PHP5.4的支持(因为修复PHP8.1兼容性问题必然导致和PHP5.4不兼容)。

正在进行中。

老虎会游泳 33楼回复 老虎会游泳[连载][初步完结] 在安卓Termux中安装虎绿林网站程序 (2022-02-01//)

打开Termux自动启动网站

创建好~/run.sh之后,再执行以下命令即可加入自启动:

echo ~/run.sh > ~/.profile

如何测试?

  1. 在通知栏退出Termux会话。

Screenshot_20220201_022428.jpg

  1. 重新打开Termux。

成功自启。

Screenshot_20220201_022519_com.termux.jpg


取消自启:

rm ~/.profile
下一页 上一页 (64 / 104页)

11月2日 06:25 星期六

本站由hu60wap6华为CPU驱动

备案号: 京ICP备18041936号-1