При установке зависимостей через Composer возникли ошибки:
Your requirements could not be resolved to an installable set of packages.
Cannot use codeigniter4/framework v4.3.0 as it requires php >=8.0
composer clear-cache
composer update --ignore-platform-reqs
composer install --ignore-platform-reqs
При попытке открыть /docs или /api сервер возвращал ошибку 404.
Настройте виртуальный хост в Apache:
<VirtualHost *:80>
ServerName doka.local
DocumentRoot "C:/OSPanel/home/doka.local/public"
<Directory "C:/OSPanel/home/doka.local/public">
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
После этого **перезапустите сервер Apache**.
В CodeIgniter 4 **все запросы должны обрабатываться через `index.php`**, а без настроек `.htaccess` маршруты не работают.
Создайте или обновите .htaccess в public/:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [QSA,L]
</IfModule>
Если CodeIgniter 4 не обрабатывает маршруты, проверьте файл app/Config/Routes.php.
Правильная настройка маршрутов:
namespace Config;
use CodeIgniter\Config\BaseConfig;
use CodeIgniter\Router\RouteCollection;
$routes = Services::routes();
// Главная страница
$routes->get('/', 'HomeController::index');
// API маршруты
$routes->group('api', function(RouteCollection $routes) {
$routes->get('users', 'UserController::index');
$routes->get('articles/(:num)', 'ArticleController::view/$1');
});
Если при попытке открыть страницу получаете ошибку:
Controller Not Found: Unable to locate the specified class: HomeController.php
app/Controllers/.
namespace App\Controllers;
use CodeIgniter\Controller;
class HomeController extends Controller {
public function index() {
return view('home');
}
}
php spark cache:clear
php spark routes