Вступление
Codeigniter - очень мощный PHP-фреймворк с небольшим размером.
В этом руководстве предполагается, что у вас есть хотя бы работающий стек LAMP и root-доступ к вашему VPS.
Установка Codeigniter
Сначала перейдите в корневую папку Apache.
cd /var/www/html
Загрузите последнюю стабильную версию Codeigniter.
wget https://github.com/bcit-ci/CodeIgniter/archive/3.1.5.zip
Извлеките загруженный файл.
unzip 3.1.5.zip
Если вы получили сообщение об ошибке: The program 'unzip' is currently not installed.
вы должны установить unzip.
sudo apt install unzip
Теперь попробуйте извлечь снова.
Обратите внимание, новый каталог называется CodeIgniter-3.1.5
. Переименуйте эту папку в codeigniter
.
mv CodeIgniter-3.1.5 codeigniter
Перейдите на http://[vultr-instance-ip]/codeigniter
страницу, и вас встретит страница приветствия codeigniter. Эта страница приветствия производится в качестве примера контроллера , расположенного по адресу application/controllers
называется Welcome.php
. Загруженная страница находится по адресу application/views
и называется welcome.php
.
Конфигурация и красивые URL
Codeigniter запущен и работает, и вы должны выполнить начальную настройку. Если вы планируете использовать базу данных, вам необходимо настроить доступ к базе данных в database.php
файле конфигурации, расположенном по адресу application/config/database.php
. Найдите следующий блок и обновите его информацией о вашем соединении.
$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => '',
'password' => '',
'database' => '',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);
Сохраните файл и выйдите. Вы завершили настройку базы данных, теперь давайте рассмотрим схему URL Codeigniter.
Красивые URL
По умолчанию URL-адреса в Codeigniter разрабатываются так, чтобы быть удобными для человека с использованием сегментированного подхода
http://[vultr-instance-ip]/codeigniter/index.php/[controller]/[method]/[param]
В соответствии с подходом MVC, то [controller]
сегмент представляет собой контроллер класс , расположенный в application/controllers
, в [method]
сегмент способом , в этом классе , и [param]
сегментом является пары передаются методе.
Давайте теперь протестируем эту конфигурацию, добавив следующий метод к методу index в application/controllers/Welcome.php
:
public function hello($user = 'John Doe')
{
echo "Hello {$user}!";
}
Теперь перейдите к http://[vultr-instance-ip]/codeigniter/index.php/welcome/hello/Jack
. Вы должны увидеть Hello Jack!
в своем браузере.
Удаление index.php
По умолчанию index.php
будет включен в ваш URL, чтобы удалить его, мы должны включить mod_rewrite
модуль Apache , добавить .htaccess
файл в корневую папку вашего приложения и выполнить некоторые настройки application/config/config.php
.
Во-первых, давайте проверим, mod_rewrite
включен ли он, выполнив следующую команду.
apache2ctl -M
Если вы видите rewrite_module
в списке, вы можете двигаться дальше, иначе включите его.
a2enmod rewrite
Перезагрузите сервер Apache.
sudo service apache2 restart
Теперь создайте .htaccess
файл в /var/www/html/codeigniter/
и поместите в него следующее содержимое.
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php?/$0 [PT,L]
Убедитесь , что ваш .htaccess
файл включается установка AllowOverride
в All
и добавлении Order allow,deny
и allow from all
в файле виртуальных хостов, или в глобальной конфигурации Apache.
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
Order allow,deny
allow from all
</Directory>
Теперь удалите index.php
файл из URL-адресов в файле конфигурации Codeigniter application/config/config.php
.
Найдите следующий код,
$config['index_page'] = 'index.php';
И заменить это этим.
$config['index_page'] = '';
Теперь вы можете получить доступ к своим URL-адресам без index.php
файла. Перейдите http://[vultr-instance-ip]/codeigniter/welcome/hello/Jack
и проверьте это. Вы должны увидеть то же сообщение, что и раньше.
Вывод
Мы установили платформу Codeigniter и удалили ее index.php
из наших URL. Вы можете узнать больше об этой платформе через официальное руководство пользователя .