Вступление
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. Вы можете узнать больше об этой платформе через официальное руководство пользователя .