W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
一個CodeIgniter 4的程序能夠通過以下幾種方式來運行:部署在一臺web服務(wù)器上,使用虛擬化,或者使用CodeIgniter的命令行工具以便測試。 本節(jié)闡述了如何使用以上技術(shù)來進行部署,以及介紹了一些高級用法與如何做出貢獻。
如果CodeIgniter對你來說相當(dāng)陌生,請閱讀用戶手冊中的 準(zhǔn)備開始 這節(jié)來學(xué)習(xí)如何構(gòu)建一個動態(tài)的PHP應(yīng)用,祝你玩得開心!
.env
文件,新增或更改其中的 app.baseURL=”http://example.com” 來更改baseURL。.env
文件里進行如上設(shè)置。
在生產(chǎn)環(huán)境里需要做的另一個件事就是關(guān)閉PHP的錯誤報告以及其他所有的只在開發(fā)環(huán)境里的功能。 在CodeIgniter中,可以通過設(shè)置 ENVIRONMENT
常量來進行。關(guān)于這一特性在文檔環(huán)境 中進行了更為詳盡的介紹。 在默認情況下,應(yīng)用程序會使用”production”(生產(chǎn))環(huán)境。為了更為充分地使用所提供的 debug(問題定位)工具,你需要將環(huán)境設(shè)置為 “develop” (開發(fā)環(huán)境)
注解
如果你想要在一臺web服務(wù)器上運行你的網(wǎng)站。你需要修改項目線下的writable
文件夾的權(quán)限,從而使得你的web服務(wù)器的當(dāng)前用戶可以對它進行寫入。
CodeIgniter4 中內(nèi)置了一個本地開發(fā)用的主機,利用了PHP內(nèi)置的web服務(wù)器并實現(xiàn)了 CodeIgniter 的路由機制。 你可以使用主目錄下的如下如下命令行中的 serve
腳本來啟動:
php spark serve
這將會啟動服務(wù)器,與此同時,你可以在瀏覽器中輸入以下 http://localhost:8080 地址來瀏覽你的應(yīng)用。
注解
內(nèi)置的開發(fā)服務(wù)器只應(yīng)該在本地開發(fā)機器上使用。絕對不要將其用于生產(chǎn)服務(wù)器中
如果你想在服務(wù)器上運行一個不僅僅是localhost,而是其他站點名的網(wǎng)站,你需要首先將該站點加入到你的 hosts
文件中。 該文件實際所處的位置根據(jù)不同的操作系統(tǒng)會存在差異,不過對于所有Unix類型的系統(tǒng)(包括OS X),該文件都是位于 /etc/hosts 。
本地開發(fā)主機可以通過三個命令行選項來進行自定義化:
--host
命令行選項來指定當(dāng)前應(yīng)用所位于的主機名: php spark serve --host=example.dev
--port
選項來指定另一個端口: php spark serve --port=8081
--php
選項,同時指定你想使用的對應(yīng)的PHP版本所處的路徑: php spark serve --php=/usr/bin/php7.6.5.4
CodeIgniter4 的 webapp 通常部署在一個網(wǎng)站主機上。在本文檔中我們將 Apache 的 httpd
進程假定為標(biāo)準(zhǔn)使用的平臺。
Apache 在許多平臺中默認集成,不過也能夠以一個安裝包(其中包含數(shù)據(jù)庫引擎和PHP執(zhí)行文件)從 Bitnami上下載
本文檔中假定你可以使用 “mod_rewrite” 模塊,該模塊可以在URL中移除 “index.php” 這一部分。
確保該模塊(重寫模塊)在主配置文件中已被啟用(未注釋),例如 apache2/conf/httpd.conf
:
LoadModule rewrite_module modules/mod_rewrite.so
與此同時,確保默認的文檔根目錄 <Directory> 元素中也啟用了該模塊,在 “AllowOverride” 設(shè)置中:
<Directory "/opt/lamp7.2/apache2/htdocs">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
我們推薦使用虛擬主機的配置來運行你的應(yīng)用。 你可以為每個應(yīng)用設(shè)置不同的別名。
確保虛擬主機模塊在主配置文件中啟用(未注釋),例如 apache2/conf/httpd.conf
:
LoadModule vhost_alias_module modules/mod_vhost_alias.so
在你的主機配置文件(hosts文件)里增加一個主機別名,在unix類型的平臺上通常是 /etc/hosts
,而在Windows上通常是 c:/Windows/System32/drivers/etc/hosts
。 在該文件中增加一行,比如 “myproject.local” 或 “myproject.test”,舉例來說:
127.0.0.1 myproject.local
在虛擬主機配置中,為你的 webapp 增加一個 <VirtualHost> 元素,例如在 apache2/conf/extra/httpd-vhost.conf
中:
<VirtualHost *:80>
DocumentRoot "/opt/lamp7.2/apache2/htdocs/myproject/public"
ServerName myproject.local
ErrorLog "logs/myproject-error_log"
CustomLog "logs/myproject-access_log" common
</VirtualHost>
如果你的項目目錄并不位于 Apache 的文檔根目錄下,你的 <VirtualHost> 元素就需要一個嵌套的 <Directory> 元素來為服務(wù)器訪問這些文件提供授權(quán)。
上述配置完成后,你的 webapp 應(yīng)該就可以通過在瀏覽器上輸入 http://myproject.local
的 URL 來進行訪問了。
每當(dāng)你更改了它的配置后,Apache 都需要被重新啟動
虛擬化也是一個有效地測試你希望部署的環(huán)境中的 webapp 的實現(xiàn)情況的方式,即使你是在一個不同環(huán)境中進行部署的話。 即使你為兩個環(huán)境使用了相同的平臺,虛擬化也可以為測試提供獨立的環(huán)境。
相關(guān)的代碼位于 VagrantFile.dist
中,該文件也可以被復(fù)制到 VagrantFile
里,并根據(jù)你的系統(tǒng)的情況來進行增減。例如為特定的數(shù)據(jù)庫或緩存引擎提供訪問。
我們假設(shè)了你已經(jīng)安裝了 VirtualBox 和 Vagrant 的指定平臺版本。
我們的 Vagrant 配置文件默認你在系統(tǒng)中使用 ubuntu/bionic64 Vagrant box 。
Vagrant 配置文件假定你是這樣進行安裝的:
vagrant box add ubuntu/bionic64
設(shè)置完成后,你就可以用以下命令在虛擬機中部署你的 webapp
vagrant up
你的 webapp 就可以通過 http://localhost:8080
來訪問,而當(dāng)次構(gòu)建的代碼覆蓋率測試報告可以通過 http://localhost:8081
,用戶指南通過 http://localhost:8082
進行訪問。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: