Запуск вашего приложения

Приложение CodeIgniter 4 можно запускать разными способами: размещать на веб-сервере, использовать виртуализацию или использовать инструмент командной строки CodeIgniter для тестирования. В этом разделе рассказывается, как использовать каждый метод, и объясняются некоторые их плюсы и минусы.

Если вы новичок в CodeIgniter, прочтите раздел « Начало работы » в Руководстве пользователя, чтобы начать изучение того, как создавать динамические приложения PHP. Наслаждайтесь!

Первоначальная конфигурация и настройка

  1. Откройте файл app / Config / App.php с помощью текстового редактора и установите базовый URL-адрес. Если вам нужна большая гибкость, baseURL может быть установлен в .envфайле как app.baseURL = ”http://example.com” .
  2. Если вы собираетесь использовать базу данных, откройте файл app / Config / Database.php с помощью текстового редактора и установите параметры базы данных. В качестве альтернативы они могут быть установлены в вашем .envфайле.

Еще одна дополнительная мера, которую следует предпринять в производственных средах, — отключить отчеты об ошибках PHP и любые другие функции, предназначенные только для разработки. В CodeIgniter это можно сделать, установив ENVIRONMENTконстанту, которая более подробно описана на странице сред . По умолчанию приложение запускается в «производственной» среде. Чтобы воспользоваться преимуществами предоставленных инструментов отладки, вы должны установить среду «разработка».

Заметка

Если вы будете запускать свой сайт с помощью веб-сервера (например, Apache или Nginx), вам нужно будет изменить разрешения для writableпапки внутри вашего проекта, чтобы она была доступна для записи пользователю или учетной записи, используемой вашим веб-сервером.

Локальный сервер разработки

CodeIgniter 4 поставляется с локальным сервером разработки, использующим встроенный веб-сервер PHP с маршрутизацией CodeIgniter. Вы можете использовать serveсценарий для его запуска со следующей командной строкой в ​​основном каталоге:

php spark serve

Это запустит сервер, и теперь вы сможете просматривать свое приложение в браузере по адресу http: // localhost: 8080 .

Заметка

Встроенный сервер разработки следует использовать только на локальных машинах для разработки. Его НИКОГДА нельзя использовать на производственном сервере.

Если вам нужно запустить сайт на хосте, отличном от localhost, вам сначала нужно добавить хост в свой hostsфайл. Точное расположение файла различается в каждой из основных операционных систем, хотя все системы unix-типа (включая OS X) обычно хранят файл в / etc / hosts .

Локальный сервер разработки можно настроить с помощью трех параметров командной строки:

  • Вы можете использовать --hostопцию CLI, чтобы указать другой хост для запуска приложения:php spark serve host=example.dev
  • По умолчанию сервер работает на порту 8080, но у вас может быть запущено несколько сайтов или уже есть другое приложение, использующее этот порт. Вы можете использовать --portопцию CLI, чтобы указать другой:php spark serve port=8081
  • Вы также можете указать конкретную версию PHP для использования с --phpопцией CLI со значением, установленным на путь к исполняемому файлу PHP, который вы хотите использовать:php spark serve php=/usr/bin/php7.6.5.4

Хостинг с Apache

Веб-приложение CodeIgniter4 обычно размещается на веб-сервере. Apache httpd— это «стандартная» платформа, о которой идет речь в большей части нашей документации.

Apache входит в комплект многих платформ, но также может быть загружен в комплекте с ядром базы данных и PHP от Bitnami .

.htaccess

Модуль «mod_rewrite» включает URL без «index.php» в них, и это предполагается в нашем руководстве пользователя.

Убедитесь, что модуль перезаписи включен (раскомментирован) в основном файле конфигурации, например. apache2/conf/httpd.conf:

LoadModule rewrite_module modules/mod_rewrite.so

Также убедитесь, что элемент <Directory> корневого документа по умолчанию также включает это в настройке «AllowOverride»:

<Directory "/opt/lamp7.2/apache2/htdocs">
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

Виртуальный хостинг

Мы рекомендуем использовать «виртуальный хостинг» для запуска ваших приложений. Вы можете настроить разные псевдонимы для каждого приложения, над которым работаете,

Убедитесь, что модуль виртуального хостинга включен (раскомментирован) в основном файле конфигурации, например. apache2/conf/httpd.conf:

LoadModule vhost_alias_module modules/mod_vhost_alias.so

Добавьте псевдоним хоста в ваш файл «hosts», обычно /etc/hostsна платформах типа unix или c:/Windows/System32/drivers/etc/hostsв Windows. Добавьте строку в файл. Это может быть «myproject.local» или «myproject.test», например:

127.0.0.1 myproject.local

Добавьте элемент <VirtualHost> для своего веб-приложения в конфигурацию виртуального хостинга, например. apache2/conf/extra/httpd-vhost.conf:

<VirtualHost *:80>
    DocumentRoot "/opt/lamp7.2/apache2/htdocs/myproject/public"
    ServerName myproject.local
    ErrorLog "logs/myproject-error_log"
    CustomLog "logs/myproject-access_log" common
</VirtualHost>

Если папка вашего проекта не является подпапкой корня документа Apache, то вашему элементу <VirtualHost> может потребоваться вложенный элемент <Directory>, чтобы предоставить веб-серверу доступ к файлам.

Тестирование

С указанной выше конфигурацией ваше веб-приложение будет доступно по URL-адресу http://myproject.localв вашем браузере.

При изменении конфигурации Apache необходимо перезапускать.

Хостинг с Nginx

Nginx — второй по популярности HTTP-сервер для веб-хостинга. Здесь вы можете найти пример конфигурации с использованием PHP 7.3 FPM (сокеты unix) под Ubuntu Server.

Эта конфигурация позволяет использовать URL без «index.php» в них и использовать CodeIgniter «404 — Файл не найден» для URL, заканчивающихся на «.php».

server {
    listen 80;
    listen [::]:80;

    server_name example.com;

    root  /var/www/example.com/public;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php$is_args$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;

        # With php-fpm:
        fastcgi_pass unix:/run/php/php7.3-fpm.sock;
        # With php-cgi:
        # fastcgi_pass 127.0.0.1:9000;
    }

    error_page 404 /index.php;

    # deny access to hidden files such as .htaccess
    location ~ /\. {
        deny all;
    }
}

Хостинг с Vagrant

Виртуализация — это эффективный способ протестировать ваше веб-приложение в среде, в которой вы планируете развернуть, даже если вы разрабатываете в другой среде. Даже если вы используете одну и ту же платформу для обоих, виртуализация предоставляет изолированную среду для тестирования.

База кода поставляется с файлом VagrantFile.dist, который можно скопировать VagrantFile и настроить для вашей системы, например, обеспечивая доступ к конкретной базе данных или механизмам кэширования.

Настройка

Предполагается, что вы установили VirtualBox и Vagrant для своей платформы.

В файле конфигурации Vagrant предполагается, что вы настроили в своей системе модуль ubuntu / bionic64 Vagrant :

vagrant box add ubuntu/bionic64

Тестирование

После настройки вы можете запустить свое веб-приложение внутри виртуальной машины с помощью команды:

vagrant up

Ваше веб-приложение будет доступно по адресу http://localhost:8080, с отчетом о покрытии кода для вашей сборки http://localhost:8081и руководством пользователя по адресу http://localhost:8082.

Добавить комментарий