phpMyAdmin_LSWS 必须通过 OpenLiteSpeed 的 context 配置实现正确路由与 PHP 执行,不可用 rewrite;context 需设于 VirtualHost 内,路径为 /phpmyadmin,类型为 PHP_SAPI,Location 填绝对路径并启用 Set Handler,PHP 处理器须用兼容版本的 lsphp,同时注意权限、符号链接限制、MySQL 连接方式及配置文件路径一致性。
phpMyAdmin_LSWS 虚拟主机必须用 context 而不是 rewrite
openlitespeed 的 phpmyadmin_lsws 不是普通 php 应用,它依赖 lsws 特有的 context 配置来正确路由和执行 php。用 rewrite 规则强行转发会导致 404 或空白页——因为 rewrite 只改 url,不绑定处理器,而 phpmyadmin_lsws 需要明确告诉服务器“这个路径下的所有请求都走 php 并启用特定环境变量”。
实操建议:
-
context必须定义在虚拟主机的VirtualHost配置块内,路径匹配用/phpmyadmin(注意结尾无斜杠) - 类型选
PHP_SAPI,不是Proxy或Static -
Location字段填绝对路径,比如/usr/local/lsws/DEFAULT/html/phpmyadmin,不能写相对路径或软链接目标 - 务必勾选
Enable Set Handler,否则 PHP 不会接管请求
PHP 处理器必须指向 lsphp,且版本与 phpMyAdmin 兼容
OpenLiteSpeed 自带的 lsphp 是封装过的 PHP SAPI,不是系统默认的 php-fpm。直接复用 Nginx/Apache 的 PHP 配置会失败:比如用 php-fpm.sock 地址、或设 PHP_INI_SCAN_DIR 指向系统目录,LSWS 会忽略。
常见错误现象:
- 打开 /phpmyadmin 显示 “No input file specified.” —— 说明 PHP 处理器没找到入口文件,通常是
Document Root和context Location不一致 - 登录后报错
mysqli extension is missing——lsphp编译时没启用mysqli,需重装对应版本的lsphp(如lsphp81)并确认模块已加载 - 上传大文件失败 —— 不是 nginx 的
client_max_body_size,而是lsphp的post_max_size和upload_max_filesize,要在php.ini(路径通常是/usr/local/lsws/lsphp81/etc/php/8.1/litespeed/php.ini)里改
权限和符号链接问题:LSWS 默认禁止跟随 symlink
很多人把 phpMyAdmin_LSWS 解压到别处再软链进 html/,结果访问 403。OpenLiteSpeed 默认关闭 Follow Symbolic Links,且不支持跨文件系统软链(比如从 /opt 链到 /usr/local/lsws/DEFAULT/html)。
立即学习“PHP免费学习笔记(深入)”;
使用场景:
- 若你用一键包(如 CyberPanel)部署,
phpmyadmin目录通常已在/usr/local/lsws/DEFAULT/html/下,直接配context即可 - 若手动下载,解压后用
cp -r复制,别用ln -s - 检查目录权限:
lsphp进程用户(通常是nobody或lsadm)必须对phpmyadmin/有读+执行权,config.inc.php不能有写权限(LSWS 会拒绝加载)
config.inc.php 里的 $cfg['Servers'][$i]['host'] 别写 localhost
OpenLiteSpeed 常和 MariaDB 同机部署,但 localhost 在 PHP 里会触发 Unix socket 连接,而 phpMyAdmin_LSWS 的默认配置可能没指定 socket 路径,导致连接超时或报错 #2002 Cannot log in to the MySQL server。
实操建议:
- 改成
127.0.0.1,强制走 TCP,兼容性更好 - 如果非要用 socket,得在
config.inc.php里显式加:$cfg['Servers'][$i]['socket'] = '/var/lib/mysql/mysql.sock';(路径以mysql --socket输出为准) - 别漏掉
$cfg['Servers'][$i]['auth_type'] = 'cookie';,LSWS 没开 session.save_path 写入权限时,用http认证会静默失败
最常被忽略的是 context 的 Location 和磁盘上真实路径的完全一致——少一个字母、多一个斜杠、大小写不符,都会让 LSWS 返回 404 而不报错。配完记得重启 lsws,不是 reload。



















