在Ubuntu 16.04上设置Codeigniter应用程序

介绍

Codeigniter是一个非常强大的PHP框架,占地面积很小。

本指南假定您至少具有正常工作的LAMP堆栈,并且对VPS具有root访问权限。

安装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.,则必须安装解压缩。

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
);

保存文件并退出。您已经完成了数据库配置,现在让我们回顾一下Codeigniter URL方案。

漂亮的网址

默认情况下,Codeigniter中的URL旨在通过基于段的方式对人类友好:

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中,要删除它,我们必须启用Apache mod_rewrite模块,将.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通过在虚拟主机文件或全局apache配置中设置 并添加和AllowOverride来确保已启用文件。AllOrder allow,denyallow from all

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
        Order allow,deny
        allow from all
</Directory>

现在,index.php从Codeigniter配置文件中的URL中删除文件application/config/config.php

找到以下代码,

$config['index_page'] = 'index.php';

并替换为此。

$config['index_page'] = '';

现在,您无需index.php文件即可访问URL 。导航到http://[vultr-instance-ip]/codeigniter/welcome/hello/Jack并签出。您应该会看到与以前相同的消息。

结论

我们已经安装了Codeigniter框架,并index.php从我们的URL中删除了它。您可以通过官方用户指南了解有关此框架的更多信息。



Leave a Comment

AI 能否應對越來越多的勒索軟件攻擊?

AI 能否應對越來越多的勒索軟件攻擊?

勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根

ReactOS:這是 Windows 的未來嗎?

ReactOS:這是 Windows 的未來嗎?

ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+

人工智能如何將流程自動化提升到新的水平?

人工智能如何將流程自動化提升到新的水平?

閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。

macOS Catalina 10.15.4 補充更新引發的問題多於解決

macOS Catalina 10.15.4 補充更新引發的問題多於解決

最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息

大數據的13個商業數據提取工具

大數據的13個商業數據提取工具

大數據的13個商業數據提取工具

什麼是日誌文件系統,它是如何工作的?

什麼是日誌文件系統,它是如何工作的?

我們的計算機以稱為日誌文件系統的有組織的方式存儲所有數據。這是一種有效的方法,可以讓計算機在您點擊搜索時立即搜索和顯示文件。 https://wethegeek.com/?p=94116&preview=true

技術奇點:人類文明的遙遠未來?

技術奇點:人類文明的遙遠未來?

隨著科學的快速發展,接管了我們的大量工作,我們陷入無法解釋的奇點的風險也在增加。閱讀,奇點對我們意味著什麼。

洞察 26 種大數據分析技術:第 1 部分

洞察 26 種大數據分析技術:第 1 部分

洞察 26 種大數據分析技術:第 1 部分

2021 年人工智能對醫療保健的影響

2021 年人工智能對醫療保健的影響

過去幾十年,醫療保健領域的人工智能取得了巨大飛躍。因此,醫療保健中人工智能的未來仍在日益增長。