宝塔面板或大或小的坑,虽有后台门、删库塔等说法,但确实药方便一些,中文资料也相对更多一些(相对于小白)。

Linux面板

PHP问题

PHP7.4无法安装GMP插件

问题描述:无论环境是什么,php7安装gmp插件很快并显示完成,但实际上并没有成功。

官方给出了解决方案经网友和本人测试无效

apt-get update
apt-get install gmp-dev

网友给出的亲测有效方案,本人也测试成功

apt-get install libgmp-dev

Windows面板

Nginx问题

nginx开启pathinfo模式无效

同样的 伪静态配置,php8.0 妥妥正常,无需修改任何 伪静态 或者修改 nginx.conf ,$_SERVER[‘PATH_INFO’] 正常取值,
切换到 php 7+ 【php 5.2 ~ php 7.4】,$_SERVER[‘PATH_INFO’] 都没有值,经过几翻折腾终于搞定。

第一步:先确定PHP版本是否开启了pathinfo,如图所示

请输入图片描述

第二步:NGINX配置修改,主要是修改path_info的变量,修改位置如图所示,要替换的代码放在后面直接复制替换即可。

请输入图片描述

#PHP-INFO-START 
location ~ \.php(.*)$ {
    try_files $uri =404;
    fastcgi_pass   127.0.0.1:20074;
    fastcgi_index  index.php;

    set $path_info "";
    set $real_script_name $fastcgi_script_name;
    if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
        #将文件地址赋值给变量 $real_script_name
        set $real_script_name $1;
        #将文件地址后的参数赋值给变量 $path_info
        set $path_info $2;
    }
    #配置fastcgi的一些参数
    fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
    fastcgi_param SCRIPT_NAME $real_script_name;
    fastcgi_param PATH_INFO $path_info;

    include        fastcgi_params;
}
#PHP-INFO-END

第三步:还得配置NGINX的伪静态规则,参照这三个步骤可以完美解决thinkphp5在nginx上除首页以外全部404的问题

请输入图片描述

记录一次宝塔任务失效的解决方法

腾讯官方给出的解决方法暂未测试
1,进入/etc/pam.d目录
2,打开文件 common-session-noninteractive
3,查找 session required pam_unix.so 内容(一般在最后)
4,在这一行上方添加

session
[success=1 default=ignore] pam_succeed_if.so service in cron quiet use_uid

5,保存并退出
6,重启cron

自行搜索到的一个参考,但是测试失败,因为不懂
http://www.361way.com/pam-tally2/4277.html

实际测试成功的方法,参考
https://www.bt.cn/bbs/thread-73608-1-1.html

apt remove -y cron
apt install -y cron

然后直接重启,删除所有任务,重启,创建,成功。就是要全部删除再创建有点心累。

Windows的Linux子系统宝塔面板安装失败(未验证测试)

原文链接:https://www.bt.cn/bbs/forum.php?mod=viewthread&tid=65196&page=1#pid258914

在宝塔面板的文件里打开/www/server/panel/class/panelMysql.py
可以看到是使用socket进行连接的,使用本地文件/tmp/mysql.sock,我查看了下这个文件也是确实存在的..可能是权限?或者其他问题.总之这个连接方式连接不上...那么我们换一个连接方式,修改第60行

self.__DB_CONN = MySQLdb.connect(host = self.__DB_HOST,user = self.__DB_USER,passwd = self.__DB_PASS,port = self.__DB_PORT,charset="utf8",connect_timeout=1,unix_socket=socket)

把后面的unix_socket=socket去掉,超时时间connect_timeout改改,比如1000吧

self.__DB_CONN = MySQLdb.connect(host = self.__DB_HOST,user = self.__DB_USER,passwd = self.__DB_PASS,port = self.__DB_PORT,charset="utf8",connect_timeout=1000)

保存,重启面板,数据库就能正常使用了...保存,重启面板,数据库就能正常使用了...

最后修改:2023 年 01 月 22 日
如果我的文章帮到你了,欢迎随意赞赏