[英]Blank page on the web server with Codeigniter 4
我將我的項目上傳到 Web 服務器,按照安全建議,我將 CodeIgniter 4 文件放在服務器的非公共目錄中: /home/user/codeigniter
並在公共目錄中: /home/user/public_html
這是我的路徑: $pathsPath = FCPATH. '../codeigniter/app/Config/Paths.php';
$pathsPath = FCPATH. '../codeigniter/app/Config/Paths.php';
我正確放置了所有文件;
|__ public_html (or your domain root folder)
| |assets
| |index.php
| |.htaccess
|
|__ codeigniter
|__ app
|__ system
|__ writable
|__ .env
但我總是收到一個空白頁。 你能幫我解決這個問題嗎
而 error.log 是:
RITICAL - 2020-10-14 06:12:09 --> ini_set(): Headers already sent. You cannot change the session module's ini settings at this time
#0 [internal function]: CodeIgniter\Debug\Exceptions->errorHandler(2, 'ini_set(): Head...', '/home/catideko/...', 101, Array)
我已經解決了這個問題。 問題的根源在於我的主機中的“zlib_output_compression”。 它應該是“關閉”的位置。 在將位置更改為“關閉”后,在 cpanel 上一切順利。
這是錯誤的$pathsPath = FCPATH. '../codeigniter/app/Config/Paths.php';
$pathsPath = FCPATH. '../codeigniter/app/Config/Paths.php';
您不能像那樣將FCPATH
和..
一起使用,您必須提供完整路徑,例如$pathsPath = '/home/user/codeigniter/app/Config/Paths.php';
還要確保路徑/home/user/codeigniter
可由 php 訪問,您需要在php.ini
包含該路徑或在 index.php 中設置
set_include_path(get_include_path() . PATH_SEPARATOR . '/home/user/codeigniter');
然后確認您的路徑是否包含在內
echo get_include_path();
然后按照 官方指南確認您是否已正確更新所有路徑
完成所有設置后,請確保您的可寫文件夾設置了寫權限。 你的 App.php 包括
public $sessionSavePath = WRITEPATH . 'session';
雖然上面的設置可以工作,但我建議你堅持使用默認的 composer 安裝和路徑
composer create-project codeigniter4/appstarter project-root
這將確保在 CI4 升級時無縫更新,使您的應用程序更安全地限制在可寫文件夾中的訪問,就像使用 nginx/apache 一樣,您可以限制可以從這些文件夾中打開哪些類型的文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.