微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用Codeigniter 4的Web服务器上的空白页

如何解决使用Codeigniter 4的Web服务器上的空白页

我将项目上传到Web服务器,按照安全建议,我将CodeIgniter 4文件放置在服务器的非公共目录中: /home/user/codeigniter

并且在公共目录中: /home/user/public_html

这是我的路径: $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'; 您不能像这样同时使用FCPATH..,而必须提供完整路径,例如$pathsPath = '/home/user/codeigniter/app/Config/Paths.php';

还要确保php可以访问路径/home/user/codeigniter,您需要将该路径包括在php.ini中或在index.php中设置

set_include_path(get_include_path() . PATH_SEPARATOR . '/home/user/codeigniter');

然后确认是否包含您的路径

echo get_include_path();

,然后按照official guidelines

确认您是否已正确更新所有路径。

完成所有设置后,请确保您的可写文件夹已设置写权限。并且您的App.php包括

public $sessionSavePath          = WRITEPATH . 'session';

尽管上面的设置可以使用,但我建议您坚持使用默认的作曲家安装和路径

composer create-project codeigniter4/appstarter project-root

这将确保在升级CI4时进行无缝更新,以使您的应用更加安全,从而限制了对可写文件夹的访问,例如使用nginx / apache,您可以限制可以从这些文件夹中打开哪种文件类型。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。