将网站上传到主机后 Codeigniter 主机错误
Codeigniter host errors after uploading website to the host
我使用 codeigniter 框架。它在 localhost 中工作正常,当我想将它上传到主机时,我收到这些错误:
(注意: 我在配置文件中更改了 config.php 和 database.php)
第一个错误:
A PHP Error was encountered
Severity: Notice
Message: Only variable references should be returned by reference
Filename: core/Common.php
Line Number: 257
第二个:
A PHP Error was encountered
Severity: Warning
Message: Cannot modify header information - headers already sent by (output started at /home2/emosbatc/domains/timit.ir/public_html/system/core/Exceptions.php:185)
Filename: libraries/Session.php
Line Number: 688
第三个:
Severity: Warning
Message: Cannot modify header information - headers already sent by (output started at /home2/emosbatc/domains/timit.ir/public_html/system/core/Exceptions.php:185)
Filename: helpers/url_helper.php
Line Number: 542
我该怎么办?上传到主机后出现问题,这不是我第一个了
注:连我的本地php版本都低于主机版本。谢谢
三个问题是:
- 为什么显示此消息?
- 为什么开发环境和生产环境之间的行为存在差异?
- 如何解决?
唯一相关的消息是第一个。以下消息的获取仅仅是因为第一个:在 sessions.php 和 URL 帮助中,我们尝试发送必须在响应 body 之前发送的 headers,而第一条消息已生成(在回复中 body).
此消息表示使用了已弃用的语法。两个环境之间的行为差异可能是由于两件事:
- 你不在你的开发环境中显示消息,但你在你的生产环境中显示它
- 或者更有可能,因为代码不是在相同版本的 PHP 下执行的, 有问题的语法在您的开发环境中不被视为已弃用
要修复它,您必须更新您的 CodeIgniter 版本(已修复),或直接修复代码。
为了修复代码,我只能给你一个通用的解决方案,因为我不知道你具体使用的是哪个版本。在 Common.php 中,您可能会发现类似这样的代码:
return $_config[0] =& $config;
这并不严格,因为这意味着我们尝试通过引用 return,而开发人员可能希望通过引用分配然后通过值分配给 return。
您可以通过分两步分配和 returning 以最小的更改来修复它,例如:
$_config[0] =& $config;
return $_config[0];
我使用 codeigniter 框架。它在 localhost 中工作正常,当我想将它上传到主机时,我收到这些错误:
(注意: 我在配置文件中更改了 config.php 和 database.php)
第一个错误:
A PHP Error was encountered
Severity: Notice
Message: Only variable references should be returned by reference
Filename: core/Common.php
Line Number: 257
第二个:
A PHP Error was encountered
Severity: Warning
Message: Cannot modify header information - headers already sent by (output started at /home2/emosbatc/domains/timit.ir/public_html/system/core/Exceptions.php:185)
Filename: libraries/Session.php
Line Number: 688
第三个:
Severity: Warning
Message: Cannot modify header information - headers already sent by (output started at /home2/emosbatc/domains/timit.ir/public_html/system/core/Exceptions.php:185)
Filename: helpers/url_helper.php
Line Number: 542
我该怎么办?上传到主机后出现问题,这不是我第一个了
注:连我的本地php版本都低于主机版本。谢谢
三个问题是:
- 为什么显示此消息?
- 为什么开发环境和生产环境之间的行为存在差异?
- 如何解决?
唯一相关的消息是第一个。以下消息的获取仅仅是因为第一个:在 sessions.php 和 URL 帮助中,我们尝试发送必须在响应 body 之前发送的 headers,而第一条消息已生成(在回复中 body).
此消息表示使用了已弃用的语法。两个环境之间的行为差异可能是由于两件事:
- 你不在你的开发环境中显示消息,但你在你的生产环境中显示它
- 或者更有可能,因为代码不是在相同版本的 PHP 下执行的, 有问题的语法在您的开发环境中不被视为已弃用
要修复它,您必须更新您的 CodeIgniter 版本(已修复),或直接修复代码。
为了修复代码,我只能给你一个通用的解决方案,因为我不知道你具体使用的是哪个版本。在 Common.php 中,您可能会发现类似这样的代码:
return $_config[0] =& $config;
这并不严格,因为这意味着我们尝试通过引用 return,而开发人员可能希望通过引用分配然后通过值分配给 return。
您可以通过分两步分配和 returning 以最小的更改来修复它,例如:
$_config[0] =& $config;
return $_config[0];