enable-php-83.conf
server {
server_name back.example.com;
listen 443 ssl http2;
ssl_certificate /etc/ssl/domains/example.com/fullchain.pem;
ssl_certificate_key /etc/ssl/domains/example.com/privkey.pem;
access_log /srv/web/example.com/nginx.access.log main;
error_log /srv/web/example.com/nginx.error.log notice;
root /srv/web/example.com/back;
try_files $uri $uri/ @default;
index index.php index.html;
location @default {
#include addon.php@example.conf;
#include addon.php.conf;
fastcgi_param HTTPS $https if_not_empty;
fastcgi_param REQUEST_SCHEME $scheme;
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_NAME $server_name;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param DOCUMENT_ROOT $document_root;
# не используем $fastcgi_script_name из-за проблем с alias
fastcgi_param SCRIPT_FILENAME $request_filename;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param SCRIPT_NAME $uri;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param CONTENT_TYPE $content_type if_not_empty;
fastcgi_param CONTENT_LENGTH $content_length if_not_empty;
# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param REDIRECT_STATUS 200;
#end include addon.php.conf;
fastcgi_pass unix:/srv/web/example.com/~run/php.socket;
#end include addon.php@example.conf;
fastcgi_param SCRIPT_FILENAME $document_root/index.php;
}
location ~ \.php$ {
include addon.php@example.conf;
try_files $uri @default;
}
}
server {
server_name back.example.com;
listen 80;
access_log /srv/web/example.com/nginx.access.log main;
error_log /srv/web/example.com/nginx.error.log notice;
return 308 https://$http_host$request_uri;
}
if
и rewrite
и пишите ОДНУ правильную директиву try_files $uri /index.php;
как указано в моём ответе snippets/fastcgi-php.conf
использует $fastcgi_script_name
, у которой проблемы с алиасамиfastcgi_pass unix:/var/run/php/php-fpm.sock
будет пропускать через php ВСЕ файлы, даже картинкиSCRIPT_FILENAME
нужно делать во вложенном location
:location ~ \.php$ {
include snippets/fastcgi-php.conf;
# не используем $fastcgi_script_name из-за проблем с alias
fastcgi_param SCRIPT_FILENAME $request_filename;
fastcgi_pass unix:/var/run/php/php-fpm.sock;
try_files $uri;
}
try_files
для /bugs
основной секции ещё нужно добавить что-то типа /bugs/index.php
const char*
, которым и является строка в вашем игрушечном примере, оно применимо, и применимость зависит от возможных типов template<class Text>
Class& operator<<(const Text& text) { ... }
template<uint16_t i>
ostream& operator<<(ostream& os, const Id<i>& text) {
os << (int)Id<i>::id;
return os;
}
const photo = "https://blablabla.ru/sss.jpg?us=22&qq=11";
fetch(`https://example.site/example/example.php`, {
method: 'POST',
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify(photo),
});
$test = json_decode(file_get_contents('php://input'), true);
var_dump($test);
SS
(это если ПХП версии 8+) { a }
ИМНИП работает только с переменными{ [expression]: 'value' }
fetch()
+blob()
, а потом его скормить вURL.createObjectURL()