2016-07-27 56 views
2

我用一個基本的hello world GET端點做了一個非常基本的slim應用程序。Slim端點可以使用php自己的服務器,但不能使用nginx

<?php 

require 'vendor/autoload.php'; 

$app = new Slim\App(); 

$app->get('/hello/{name}', function ($request, $response, $args) { 
    $response->write("Hello, " . $args['name']); 
    return $response; 
}); 

$app->run(); 

/hello/world端點的工作原理與我使用PHP內置服務器運行時一樣。 但與nginx不同。我找不到404。

我nginx_vhost(在/ etc/nginx的/網站可用/ nginx_vhost)文件看起來像這樣:

server { 
    listen 80; 
    server_name localhost; 

    root /var/www/; 
    index index.php index.html; 

    # Important for VirtualBox 
    sendfile off; 

    location/{ 
     try_files $uri $uri/ =404; 
    } 

    location ~* \.php { 
     include fastcgi_params; 

     fastcgi_pass unix:/var/run/php5-fpm.sock; 

     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
     fastcgi_cache off; 
     fastcgi_index index.php; 
    } 
} 

我要去哪裏錯了?

回答

1

您需要修改您的nginx_vhost文件以允許參數根據需要傳遞給Slim。

從他們Documentation摘自:

server { 
    #..... 

    location/{ 
     try_files $uri $uri/ /index.php$is_args$args; 
    } 

    #.... 
} 
相關問題