简单 php Slim 项目错误

simple php Slim project errors

我在安装了 WAMP 服务器的 Windows 8.1 上使用 PHPStorm 8 创建了一个简单的 Slim 微框架项目。默认设置所有 WAMP 服务器设置。

我创建了一个名为 pr1 的新项目 我使用 'Init Composer...' 然后添加了一些依赖项,例如 slim/slimslim/viewstwig/twig.

然后我尝试创建一个简单的应用程序,就像 Slim 主页上的给定示例一样:

  1. 我在我的项目文件夹中创建了名为 index.php 的文件 index.php

代码:

require 'app.php';
  1. 然后我创建了文件app.php

代码

require 'vendor/autoload.php';

$app = new \Slim\Slim();

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

$app->run();
  1. 在此之后,我尝试 运行 我在 Chrome 中的项目,但出现错误 404。

  1. 然后我尝试通过 url 传递我的名字:http://localhost:63342/pr1/wade 并且出现 PHPStorm 错误。

  1. 完成这些步骤后,我尝试在浏览器中关闭 PHPStorm 和我的项目:

似乎有一个典型的 Slim 404 错误,但是当我再次尝试通过 url 传递我的名字时,它给了我这个错误:

您需要包括 index.php 例如 http://localhost/pr1/index.php/test 摆脱 index.php 使用 .htaccess 或基于您的网络服务器的同等东西

这一切都是因为 Apachi 不知道如何处理所有浏览器请求。为此,我创建了一个简单的 .htaccess 文件:

    RewriteEngine On

# Some hosts may require you to use the `RewriteBase` directive.
# If you need to use the `RewriteBase` directive, it should be the
# absolute physical path to the directory that contains this htaccess file.
#
# RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]

在此之后我需要在我的 WAMP 设置中使用 rewrite_module。

当我通过资源管理器在浏览器中打开它时,它与项目完美配合。

然后我这样设置我的服务器:

这让我可以通过 PHPStorm 预览所有更改