You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Webmin文件存储部署PHP API并配置Flutter访问路径?

部署PHP API到Webmin服务器及Flutter路径配置

一、将PHP API部署到Webmin服务器

1. 确定网站根目录

登录Webmin后台,进入「Servers」菜单,选择服务器使用的Web服务(Apache Webserver或Nginx Webserver),找到对应网站的根目录(常见路径如/var/www/html、/home/[你的域名]/public_html)。

2. 上传API文件

通过Webmin的「File Manager」工具,定位到刚才确定的根目录,将本地XAMPP中sd/api/目录下的所有文件和子文件夹,上传到服务器根目录下。上传完成后,服务器上的API路径应为[根目录]/sd/api/。

3. 设置文件权限

在File Manager中右键点击sd文件夹,选择「Change Permissions」:

  • 将所有者设置为Web服务运行用户(Apache对应www-data,Nginx对应nginx)
  • 文件夹权限设为755,文件权限设为644,确保Web服务能正常读取API文件。

4. 测试API可用性

获取服务器的公网IP或已绑定的域名,在浏览器中访问http://[服务器IP/域名]/sd/api/(或具体接口路径如http://[服务器IP/域名]/sd/api/test.php),确认能正常返回接口数据。

二、Flutter源代码路径配置

将本地测试用的API路径替换为服务器的公网地址:

  • 原本地代码:
    const String apiUrl = "http://localhost:8000/sd/api/";
    
  • 替换为服务器IP版本:
    const String apiUrl = "http://123.45.67.89/sd/api/";
    
  • 替换为域名版本(若已绑定域名):
    const String apiUrl = "http://yourdomain.com/sd/api/";
    

如果服务器配置了HTTPS(推荐),将http改为https即可。

三、关键注意事项

  • 端口开放:确保服务器防火墙开放了80(HTTP)或443(HTTPS)端口,可在Webmin的「Networking」→「Firewall」中添加放行规则。
  • 跨域问题:Flutter Web应用若与API不在同一域名下,需解决CORS跨域问题:
    • 方法1:在每个PHP接口文件开头添加跨域头:
      header("Access-Control-Allow-Origin: *");
      header("Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS");
      header("Access-Control-Allow-Headers: Content-Type, Authorization");
      
    • 方法2:在Apache的.htaccess文件(放在API根目录)中添加规则:
      Header set Access-Control-Allow-Origin "*"
      Header set Access-Control-Allow-Methods "GET, POST, PUT, DELETE, OPTIONS"
      Header set Access-Control-Allow-Headers "Content-Type, Authorization"
      

内容的提问来源于stack exchange,提问作者enrico cristaudo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 07:15:00