【问题标题】:Slim php framework showing blank page for hello world exampleSlim php 框架显示 hello world 示例的空白页面
【发布时间】:2012-11-20 06:10:42
【问题描述】:

哦,男孩...嘿,伙计们,希望一切都好。 我是一名 iphone/ipad 程序员,想用一些方法创建一个 web 服务,然后我可以将 json 请求发送到 web 服务并让它变得愉快。

我目前正在尝试创建网络服务。这是我的主机:justhost.com。我知道我无法设置任何类型的 .net 框架,因为它都是 linux。然后我被告知我可以设置一个带有苗条或顿悟的网络服务。我被告知这两者都不应该花很长时间来设置。最多 5 分钟?然而,过去 2 天我一直在努力让事情顺利进行,但收效甚微。

我坚持使用 Slim,因为在我看来,与顿悟相比,它的设置更容易。我现在正在测试一个 hello world 示例,以便我能够在我的网页中编写类似这样的内容....

testing.mysite.com/hello/pk

但我只是得到空白页。我假设我的 .htaccess 文件对于我在地址栏中以我的站点为前缀写入的任何 url 都必须是正确的,以免引发不正确的错误页面。

这是我的文件夹目录看起来像 atm:

我已经插入了 Slim 框架提供的 .htaccess 文件。

我还需要做什么才能完成这项工作。我错过了什么。我希望有人可以帮助我。

更新 1

这是我收到的错误。解析错误:语法错误,第 8 行 /home1/dholnot1/public_html/testing/index.php 中的意外 T_FUNCTION 然后我删除了 require 语句末尾的分号,然后将错误更改为:解析错误:语法错误,第 5 行 /home1/dholnot1/public_html/testing/index.php 中的意外 T_VARIABLE

更新 2

这是我的代码:

<?php

    require 'Slim/Slim.php';

    $app = new \Slim\Slim();

    //GET route
    $app->get('/hello/:name', function ($name) {
        echo "Hello, $name";
    });

    //POST route
    $app->post('/person', function () {
        //Create new Person
    });

    //PUT route
    $app->put('/person/:id', function ($id) {
        //Update Person identified by $id
    });

    //DELETE route
    $app->delete('/person/:id', function ($id) {
        //Delete Person identified by $id
    });     


    $app->run();
?>

更新 3

我已将 php 配置升级到 PHP 版本 5.3.18 这意味着匿名函数现在可以工作了。

这是我得到的新错误: 致命错误:在第 242 行的 /home1/dholnot1/public_html/testing/Slim/Slim.php 中找不到类“Slim\Log”

我在第 242 行签入了 slim.php 文件,它的内容如下:

'log.level' => \Slim\Log::DEBUG,

【问题讨论】:

  • 你在服务器上安装了 PHP 吗?您可以访问错误日志吗?你能打开错误报告。 php.net/manual/en/function.error-reporting.php
  • 是的,肯定安装了 php。是的,我可以访问 php.ini 文件……所以 Slim 可以显示错误报告……嗯,很有趣……我只是看看我的变量在我的 php.ini 文件中显示的是哪个值……
  • 所以我已将 php.ini 文件复制到我的附加域...并将 display_errors 设置为 on,我注意到 error_reporting 已设置为 E_ALL hello world 示例仍显示空白页
  • 你应该做一些调试。在您的 require 语句之前放置一个 echo 'test'; 以查看它是否被打印出来。然后在require 之后,然后在下一行之后,依此类推。您还可以创建一个test.php,其中包含phpinfo()。它将显示所有 PHP 设置。这样您就可以确保error_reporting 处于开启状态。
  • 很公平,我确切地知道你在说什么调试步骤。我现在就去做吧

标签: php rest restful-url slim


【解决方案1】:

使用下面的代码:

require 'Slim/Slim.php';
\Slim\Slim::registerAutoloader();

$app = new \Slim\Slim();

//GET route
$app->get('/hello/:name', function ($name) {
    echo "Hello, $name";
});

...


$app->run();
  • Slim 使用namespaces,所以你必须使用$app = new \Slim\Slim()
  • 使用自动加载器让 Slim 处理它的内部依赖项

【讨论】:

  • 抱歉,回复晚了。被赶上了圣诞节假期。所以Odi,我很欣赏你的回应。 ATM 我刚刚收到 Parse 错误:语法错误,第 5 行 /home1/dholnot1/public_html/testing/index.php 中的意外 T_VARIABLE ...我该怎么做才能使所有这些工作?我想要实现的只是一个简单的测试。
  • 也许您可以使用您使用的实际代码更新您的问题。不知道代码就不可能分辨出什么是错的。你用我的解决方案替换了第二行吗?
  • 嘿 odi... 你能更新你的帖子以包含自动加载器代码吗......所以我可以更正这篇文章作为我的答案
  • 所以我雇用的印度公司对我说...“当提供 URL 重定向 POST 数据时,它不会随之而来”我怎样才能将它们指向正确的方向?我相信他们只是在使用 CORE PHP .. 我已经要求他们能够做到这一点... webserviceurl.com/var/var/var/var/add/agent
猜你喜欢
  • 2016-10-29
  • 1970-01-01
  • 1970-01-01
  • 2013-03-03
  • 1970-01-01
  • 2012-07-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多