关于CodeIgniter
CodeIgniter的是PHP的开源Web应用程序框架,具有体积小,但在实用功能十分强大。 它的目标是通过为最常见的任务提供一组库和帮助,使人们能够更快地编写他们的应用程序。 它是基于从表示逻辑有很大分离模型-视图-控制器的方法。
本教程将向您展示如何使用命令行在云服务器上设置CodeIgniter。 它也将通过一些你可能想要的初始配置。
本教程假设您已经运行自己的VPS具有root访问权限,并且已经安装了LAMP(Linux,Apache,MySQL和PHP)。 您可以咨询本教程 ,将让你与后者去,如果你还没有。
安装CodeIgniter(CI)
首先,您需要导航到云服务器的目录根文件夹,例如:
cd /var/www
下载CI的最新稳定版本。 进入下载页面的CI网站并检查最新版本。 然后,运行以下命令以将其下载:
wget http://ellislab.com/asset/ci_download_files/reactor/CodeIgniter_2.1.2.zip
请确保将URL末尾的zip文件的名称替换为您在其中找到的最新稳定版本(当前版本)。
如果您运行ls命令,你会看到你的文件夹中的zip文件。 使用以下命令解压缩它:
unzip CodeIgniter_2.1.2.zip
如果你得到了“ 解压:找不到命令 ”的错误,这意味着你没有安装解压做。 只需运行以下命令即可安装它:
sudo apt-get install unzip
现在再试一次。
如果您运行ls命令,你会发现在那里解开新的CodeIgniter文件夹。 你可以用下面的命令重命名文件夹的CodeIgniter(或任何你想要的):
mv /var/www/CodeIgniter_2.1.2 /var/www/codeigniter
现在,您可以将浏览器指向该文件夹:
<your_domain>/codeigniter
在那里,您将看到CodeIgniter欢迎消息。
此消息是由一个例子控制器可以在叫的welcome.php 应用/控制器的文件夹中找到生产。 该控制器只加载位于应用程序/视图小号文件夹视图,它包含一个简单的HTML邮件。
组态
现在CodeIgniter已设置,您应该为您的应用程序做一些初始配置。 如果您计划使用数据库,则需要设置一个并提供CodeIgniter的信息以便能够与其通信。 请参考本教程的情况下,你不熟悉如何创建一个MySQL数据库。 一旦你有了这一点,编辑以下文件(请确保您与您在安装它的人取代“ 笨 ”的文件夹名称):
nano /var/www/codeigniter/application/config/database.php
然后找到以下块,并编辑它以包括您的数据库信息:
$db['default']['hostname'] = 'localhost'; $db['default']['username'] = 'your_username'; $db['default']['password'] = 'your_password'; $db['default']['database'] = 'your_database'; $db['default']['dbdriver'] = 'mysql'; $db['default']['dbprefix'] = ''; $db['default']['pconnect'] = TRUE; $db['default']['db_debug'] = TRUE; $db['default']['cache_on'] = FALSE; $db['default']['cachedir'] = ''; $db['default']['char_set'] = 'utf8'; $db['default']['dbcollat'] = 'utf8_general_ci'; $db['default']['swap_pre'] = ''; $db['default']['autoinit'] = TRUE; $db['default']['stricton'] = FALSE;
保存文件,退出并完成数据库配置。 接下来,打开config.php文件并做一些修改有:
nano /var/www/codeigniter/application/config/config.php
现在,设置您的基本网址。 查找此块并根据您的情况进行编辑:
$config['base_url'] = 'http://www.example.com';
这是如果你有example.com域名指向您在其中安装CodeIgniter的文件夹,您需要设置什么。 换句话说,如果你已经创建了example.com域名的虚拟主机,这将有它的根目录中,比如/var/www/codeigniter
。 要了解如何在Apache中创建虚拟主机,可以咨询本教程 。
保存文件并退出。
边注:虚拟主机
在下面列出的URL,文档根目录代码点火器指向/var/www/codeigniter
。 这可以通过更改虚拟主机文件中的文档根目录来完成:
sudo nano /etc/apache2/sites-enabled/000-default
<VirtualHost *:80> DocumentRoot /var/www/codeigniter [.......] <VirtualHost *:80>
你可能会想改变接下来的事情是清除你需要把在URL中的控制器名称前右侧的index.php段。 你看,CodeIgniter URL具有以下结构:
base url / index.php / controller name / controller function / controller parameter 1 / controller parameter 2 / controller parameter etc
为了验证这一点,您可以打开的welcome.php控制器文件:
nano /var/www/codeigniter/application/controllers/welcome.php
并在索引函数下面添加另一个函数,如:
public function test($param) { echo $param; }
如果您将浏览器指向http://www.example.com/index.php/welcome/test/3,你应该看到页面上显示的数字3。 替换最后一个段,它会显示。 这很酷。
但是,您可能希望让您的网址看起来非常干净的删除“ 的index.php”的一部分。 有2个步骤来做到这一点。 首先,重新打开您以前编辑的配置文件:
nano /var/www/codeigniter/application/config/config.php
找到以下代码:
$config['index_page'] = 'index.php';并将其替换为:
$config['index_page'] = '';
保存并退出。 现在的CodeIgniter将不再自动在URL中包括“ 的index.php”。 然而,这还不够。 它只是意味着你会得到一堆的“ 找不到网页 ”的错误,如果你只是从URL省略。 您还需要创建一个.htaccess文件来处理一些重定向。
注意:要使用的.htaccess功能,你需要你的Apache服务器上启用了mod_rewrite。 要检查这一点,请运行以下命令:
apache2ctl -M如果在列表中看到rewrite_module,你是好去。 如果没有,只需使用以下命令启用它:
a2enmod rewrite
并重新启动Apache以使更改生效:
sudo service apache2 restart
您现在可以继续。 创建于CodeIgniter的根文件夹(旁边的index.php文件).htaccess文件:
nano /var/www/codeigniter/.htaccess
并粘贴在以下代码中:
RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule .* index.php?/$0 [PT,L]
确保你的.htaccess文件被设置的AllowOverride 所有虚拟主机文件中启用:
<Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory>
保存文件并退出。 现在,如果你访问的网站在浏览器中,您不需要在URL中包括的index.php:
http://www.example.com/welcome/test/3
你的网址看起来好多了。 您已准备好开始使用CodeIgniter的奇迹开发您的PHP应用程序。