Verification: a143cc29221c9be0

Nginx php 405 not allowed

Встроенный сервер PHP

Запустите следующую команду в терминале, чтобы запустить веб-сервер localhost, предполагая, что ./public/ это общедоступный каталог с index.php файлом:

php -S localhost:8888 -t public public/index.php

Если вы не используете index.php свою точку входа, измените ее соответствующим образом.

Конфигурация Apache

Убедитесь, что ваши файлы .htaccess и index.php файлы находятся в том же общедоступном каталоге. Файл .htaccess должен содержать следующий код:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [QSA,L]

Убедитесь, что ваш виртуальный хост Apache настроен с параметром AllowOverride чтобы .htaccess можно было использовать правила перезаписи:

Конфигурация Nginx

Это пример конфигурации виртуального хоста Nginx для домена example.com. Он слушает для входящих HTTP соединений на порт 80. Это предполагает сервер PHP-FPM работает на порту 9000. Вы должны обновить server_name, error_log, access_log, и root директиву с вашими собственными значениями. Директива root путь к общественности документ корневой директории вашего приложения; ваш index.php файл front-controller Slim должен находиться в этом каталоге.

server {
    listen 80;
    server_name example.com;
    index index.php;
    error_log /path/to/example.error.log;
    access_log /path/to/example.access.log;
    root /path/to/public;

    location / {
        try_files $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;
    }
}

Виртуальная машина HipHop

Ваш файл конфигурации виртуальной машины HipHop должен содержать этот код (вместе с другими параметрами, которые могут вам понадобиться). Убедитесь, что вы изменили SourceRoot настройку, чтобы указать на корневой каталог документа Slim app.

Server {
    SourceRoot = /path/to/public/directory
}

ServerVariables {
    SCRIPT_NAME = /index.php
}

VirtualHost {
    * {
        Pattern = .*
        RewriteRules {
                * {
                        pattern = ^(.*)$
                        to = index.php/$1
                        qsa = true
                }
        }
    }
}

IIS

Убедитесь, что файлы Web.config и index.php файлы находятся в том же общедоступном каталоге. Файл Web.config должен содержать следующий код: