【问题标题】:How do I link php slim with Ionic如何将 php slim 与 Ionic 链接
【发布时间】:2019-07-31 01:30:42
【问题描述】:

这是 ionic 中用于链接到我的 slim api 的代码:

    postData(credentials, type){

    return new Promise((resolve, reject) =>{
      let headers = new Headers();
      this.http.post("http://slimapp:8080/api/signup", JSON.stringify(credentials), {headers: headers}).
      subscribe(res =>{
        resolve(res.json());
      }, (err) =>{
        reject(err);
      });
    });
  }

凭据是我的数据,类型是“注册”

这是与路由匹配的苗条 php 代码

$app->post('/api/signup', function(Request $request, Response $response){
// my function is here
});

当我将 postman 与 php slim 连接时,一切正常,但是当我将它与 ionic 连接时,出现此错误: [404]: /api/signup - 没有这样的文件或目录

这是我启动 php 服务器的命令提示符上显示的错误 1 如何解决这个问题?

【问题讨论】:

  • 嗨帕特里克,欢迎来到堆栈溢出。您是否在本地环境中使用它? 8080 在您的服务器上可用吗?如果您使用的是本地主机,则可能是。如果您正在运行 vm 或云服务器,您可能必须在 nginx 等 Web 服务器上使用反向代理。
  • 嗨,我在本地主机上运行它。我通过从命令提示符进入 slim 目录启动了 php 服务器,并写道:php -S 127.0.0.1:8080
  • 那你应该使用this.http.post("http://localhost:8080/api/signup",对吗?
  • 我已将 127.0.0.1 映射到主机中的 slimapp。我在 POSTMAN 上对其进行了测试,它工作正常,但是每当我从 ionic 连接它时,它都会给出错误:[404]:/slimapp/api/signup - 没有这样的文件或目录我还禁用了 chrome 中的证券以运行 ionic网络

标签: php ionic-framework slim


【解决方案1】:

查看您的错误日志后(通常最好在问题中包含格式化的错误消息而不是链接图像),我注意到您在 slim 框架的根目录中创建 PHP 服务器,但您没有声明文档根目录到public 目录,如documentation

您应该能够做以下两件事之一:

您可以导航到 public 目录 - .../htdocs/slimapp/public - 并在那里启动 PHP 服务器 - php -S 127.0.0.1:8080

或者您可以使用-t 标志指定服务器的文档根目录(就像在发布的文档中一样)。

php -S localhost:8080 -t public public/index.php

如果您运行php --help,您可以看到php 二进制文件中可用的所有标志。

php --help
...
-S <addr>:<port> Run with built-in web server.
-t <docroot>     Specify document root <docroot> for built-in web server.
...

【讨论】:

    猜你喜欢
    • 2012-10-25
    • 1970-01-01
    • 2011-01-23
    • 1970-01-01
    • 2015-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-08
    相关资源
    最近更新 更多