Utilisez l'exemple officiel slim pour créer l'application slim la plus simple. Le serveur utilise nginx et signale une erreur. La version php est 5.6.30
...1", en amont : "fastcgi://127.0.0.1:9000", hôte : "test.laonianji.net"
08/02/2017 16:14:14 [erreur ] 26338#0 : *6 FastCGI envoyé dans stderr : "Message PHP : erreur d'analyse PHP : erreur de syntaxe, 'classe' (T_CLASS) inattendue, identifiant (T_STRING) ou variable (T_VARIABLE) attendu ou '{' ou '$' dans /data/www/test_laonianji_net/src/vendor/slim/slim/Slim/Container.php sur la ligne 149" lors de la lecture de l'en-tête de réponse depuis l'amont, client......
Le fichier de configuration de nginx est officiel, et le chemin et le nom de domaine ont été modifiés pour être corrects par moi-même
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 est également le code officiel.
<?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();
~
Que se passe-t-il avec ça
~
à la fin du fichier index.php ?Selon le message d'erreur, il s'agit d'une erreur de syntaxe dans le fichier php.
S'il y a une erreur de syntaxe dans le fichier php, vérifiez le error.log de php
ou activez display_errors dans php.ini pour afficher l'erreur