Introduksjon
Installerer Codeigniter
Konfigurasjon og pene URL-er
Konklusjon
Introduksjon
Codeigniter er et veldig kraftig PHP-rammeverk med et lite fotavtrykk.
Denne guiden forutsetter at du har minst en fungerende LAMP-stabel og root-tilgang til VPS-en din.
Installerer Codeigniter
Gå først til Apache-rotmappen.
cd /var/www/html
Last ned den siste stabile utgaven av Codeigniter.
wget https://github.com/bcit-ci/CodeIgniter/archive/3.1.5.zip
Pakk ut den nedlastede filen.
unzip 3.1.5.zip
Hvis du får en feilmelding: The program 'unzip' is currently not installed., må du installere unzip.
sudo apt install unzip
Prøv nå å trekke ut igjen.
Legg merke til en ny katalog kalt CodeIgniter-3.1.5. Gi denne mappen nytt navn til codeigniter.
mv CodeIgniter-3.1.5 codeigniter
Naviger til http://[vultr-instance-ip]/codeigniterog du vil bli møtt med velkomstsiden for kodeigniter. Denne velkomstsiden er produsert av en eksempelkontroller som ligger på application/controllerskalt Welcome.php. Den nedlastede siden ligger på application/viewsog kalles welcome.php.
Konfigurasjon og pene URL-er
Codeigniter er nå oppe og går, og du bør gjøre noen innledende konfigurasjoner. Hvis du planlegger å bruke en database, må du konfigurere databasetilgangen i database.phpkonfigurasjonsfilen på application/config/database.php. Finn følgende blokk og oppdater den med tilkoblingsinformasjonen din.
$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
);
Lagre filen og avslutt. Du har fullført databasekonfigurasjonen, la oss nå se på Codeigniter URL-skjemaet.
Pene URL-er
Som standard er nettadresser i Codeigniter designet for å være menneskevennlige med en segmentbasert tilnærming:
http://[vultr-instance-ip]/codeigniter/index.php/[controller]/[method]/[param]
Etter MVC-tilnærmingen [controller]representerer segmentet en kontrollerklasse lokalisert ved application/controllers, [method]segmentet en metode i denne klassen og [param]segmentet er en param som sendes til metoden.
La oss nå teste denne konfigurasjonen ved å legge til følgende metode til indeksmetoden i application/controllers/Welcome.php:
public function hello($user = 'John Doe')
{
echo "Hello {$user}!";
}
Naviger nå til http://[vultr-instance-ip]/codeigniter/index.php/welcome/hello/Jack. Du bør se Hello Jack!i nettleseren din.
Fjerner index.php
Som standard index.phpvil det være inkludert i url-en din, for å fjerne den må vi aktivere Apache- mod_rewritemodulen, legge til en .htaccessfil i programmets rotmappe og gjøre noen konfigurasjoner i application/config/config.php.
Først, la oss sjekke om mod_rewriteer allerede aktivert ved å kjøre følgende kommando.
apache2ctl -M
Hvis du ser rewrite_modulei listen kan du gå videre, ellers aktivere den.
a2enmod rewrite
Start Apache-serveren på nytt.
sudo service apache2 restart
Lag nå .htaccessfilen på /var/www/html/codeigniter/og legg følgende innhold i den.
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php?/$0 [PT,L]
Sørg for at .htaccessfilen din er aktivert ved å sette AllowOverridetil All og legge til Order allow,denyog allow from alli den virtuelle vertsfilen, eller i din globale apache-konfigurasjon.
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
Order allow,deny
allow from all
</Directory>
Fjern nå index.phpfilen fra URL-ene i Codeigniter-konfigurasjonsfilen application/config/config.php.
Finn følgende kode,
$config['index_page'] = 'index.php';
Og bytt den ut med denne.
$config['index_page'] = '';
Du kan nå få tilgang til nettadressene dine uten index.phpfilen. Naviger til http://[vultr-instance-ip]/codeigniter/welcome/hello/Jackog sjekk dette ut. Du bør se den samme meldingen som før.
Konklusjon
Vi har installert Codeigniter-rammeverket og fjernet index.phpfra nettadressene våre. Du kan lære mer om dette rammeverket gjennom den offisielle brukerveiledningen .