Heim > Fragen und Antworten > Hauptteil
Verwenden Sie das offizielle Slim-Beispiel, um die einfachste Slim-Anwendung zu erstellen. Der Server verwendet Nginx und meldet einen Fehler. Die PHP-Version ist 5.6.30
...1“, Upstream: „fastcgi://127.0.0.1:9000“, Host: „test.laonianji.net“
2017/02/08 16:14:14 [Fehler ] 26338#0: *6 FastCGI gesendet in stderr: „PHP-Nachricht: PHP-Analysefehler: Syntaxfehler, unerwartete ‚Klasse‘ (T_CLASS), erwarteter Bezeichner (T_STRING) oder Variable (T_VARIABLE) oder ‚{‘ oder ‚$‘ in /data/www/test_laonianji_net/src/vendor/slim/slim/Slim/Container.php in Zeile 149" beim Lesen des Antwortheaders vom Upstream, Client......
Die Konfigurationsdatei von Nginx ist offiziell und der Pfad und der Domänenname wurden von mir selbst geändert, um korrekt zu sein
server {
listen 80;
server_name mydomain;
index index.php;
error_log /data/log/nginx/access/mydomain.error.log;
access_log /data/log/nginx/access/mydomain.acess.log;
root /mypath/src/public;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ \.php {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_index index.php;
fastcgi_pass 127.0.0.1:9000;
}
}
index.php ist auch der offizielle Code.
<?php
use \Psr\Http\Message\ServerRequestInterface as Request;
use \Psr\Http\Message\ResponseInterface as Response;
require '../vendor/autoload.php';
$app = new \Slim\App;
$app->get('/hello/{name}', function (Request $request, Response $response) {
$name = $request->getAttribute('name');
$response->getBody()->write("Hello, $name");
return $response;
});
$app->run();
~