简单的php Slim项目错误

时间:2015-07-12 20:10:44

标签: php apache wamp wampserver slim

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

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

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

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

    require 'app.php';
    
    1. 然后我创建了文件app.php
    2. require 'vendor/autoload.php';
      
      $app = new \Slim\Slim();
      
      $app->get('/:name', function ($name) {
         echo "Hello, $name";
      });
      
      $app->run();
      
      1. 在此之后,我尝试在Chrome中运行我的项目,并出现错误404。
      2. PHPStorm Error

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

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

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

            wamp 404 error

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

所有这一切都是因为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 server config

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