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();
~
index.php文件最后的那个
~
是怎么回事?根据错误提示是php文件语法错误。
php文件语法错误,去查看php的error.log看看
或者把php.ini里面的display_errors打开输出错误