如何在Ubuntu12.04云服务器上安装CodeIgniter
状态: 已弃用
本文介绍了不再受支持的 Ubuntu 版本。 如果您当前正在运行运行 Ubuntu 12.04 的服务器,我们强烈建议您升级或迁移到受支持的 Ubuntu 版本:
原因: Ubuntu 12.04 已于 2017 年 4 月 28 日终止生命周期 (EOL) and no longer receives security patches or updates. This guide is no longer maintained.
请参阅:
本指南可能仍可用作参考,但可能不适用于其他 Ubuntu 版本。 如果可用,我们强烈建议使用为您正在使用的 Ubuntu 版本编写的指南。 您可以使用页面顶部的搜索功能来查找更新的版本。
关于 CodeIgniter
CodeIgniter 是一个用于 PHP 的开源 Web 应用程序框架,体积小但实用性非常强大。 它的目标是通过为最常见的任务提供一组库和帮助程序,使人们能够比平常更快地编写他们的应用程序。 它基于 Model-View-Controller 方法,将逻辑与表示分离。
本教程将向您展示如何使用命令行在您的云服务器上设置 CodeIgniter。 它还将完成您可能想要进行的一些初始配置。
本教程假设您已经在运行您自己的具有 root 访问权限的 VPS,并在其上安装了 LAMP(Linux、Apache、MySQL 和 PHP)。 你可以参考 this tutorial 如果你还没有 ' 的话,你可以使用后者。
安装 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
如果你得到“unzip: command not found”错误,这意味着你没有'没有安装Unzip。 只需运行以下命令即可安装它:
sudo apt-get install unzip
现在再试一次。
如果您运行 ls 命令,您' 会注意到那里提取的新 CodeIgniter 文件夹。 您可以使用以下命令将该文件夹重命名为 codeigniter (或任何您想要的):
mv /var/www/CodeIgniter_2.1.2 /var/www/codeigniter
现在您可以将浏览器指向该文件夹:
<your_domain>/codeigniter
在那里,您将看到 CodeIgniter 欢迎消息。
此消息由示例控制器生成,您可以在名为 welcome.php 的 application/controllers 文件夹中找到该示例控制器。 该控制器仅加载位于 application/views 文件夹中的视图,其中包含简单的 HTML 消息。
配置
现在已经设置了 CodeIgniter,您应该为您的应用程序进行一些初始配置。 如果您打算使用数据库,则需要设置一个并提供信息,以便 CodeIgniter 能够与之通信。 如果您不熟悉如何创建 MySQL 数据库,请参考 本教程。 完成后,编辑以下文件(确保将“codeigniter”文件夹名称替换为已安装的文件夹名称):
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
在 index 函数下方,添加另一个函数,如下所示:
public function test($param) { echo $param; }
如果您将浏览器指向 http://www.example.com/index.php/welcome/test/3,您应该会看到页面上显示数字 3。 替换最后一段,它将改为显示。 这很酷。
但是您可能想要删除“index.php”部分,以便您的 URL 看起来干净整洁。 有两个步骤可以做到这一点。 首先,重新打开您之前编辑的配置文件:
nano /var/www/codeigniter/application/config/config.php
找到以下代码:
$config['index_page'] = 'index.php';
并将其替换为:
$config['index_page'] = '';
保存并退出。 现在 CodeIgniter 将不再自动在 URL 中包含“index.php”。 然而,这还不够。 这只是意味着如果您只是从 URL 中省略它,您将收到一堆“Page not found”错误。 您还需要创建一个 .htaccess 文件来为您处理一些重定向。
注意: 要使用 .htaccess 功能,' 需要在 Apache 服务器上启用 mod_rewrite。 要检查这一点,请运行以下命令:
apache2ctl -M
如果您在列表中看到 rewrite_module,那么您就可以开始了。 如果没有,只需使用以下命令启用它:
a2enmod rewrite
并重新启动 Apache 以使更改生效:
sudo service apache2 restart
您现在可以继续。 在 CodeIgniter 根文件夹中创建 .htaccess 文件(在 index.php 文件旁边):
nano /var/www/codeigniter/.htaccess
并粘贴以下代码:
RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule .* index.php?/$0 [PT,L]
通过在虚拟主机文件中将 AllowOverride 设置为 All 确保您的 .htaccess 文件已启用:
<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 应用程序。
CodeIgniter—文章#1CodeIgniter—文章#2CodeIgniter—文章#3文章提交人:Danny