【发布时间】:2016-11-21 09:45:58
【问题描述】:
我正在尝试使用 CodeIgniter 上传文件。该服务器似乎发生了一些奇怪的事情,因为该代码在其他服务器上运行良好。我正在尝试调试该问题,但未报告任何错误。
具体来说,代码:
if (!$this->upload->do_upload()) {
var_dump($this->upload->display_errors());
exit();
}
我已打开 error_reporting(E_ALL) 和 display_errors,没有显示任何内容。只是一个空白页。我知道这些设置有效,因为如果我犯了语法错误,错误就会显示出来。当我上传文件时,它只是一个完整的空白页面。 100% 确定上传文件。
我什至打开了 CodeIgniter 日志,错误报告级别设置为 4,但根本没有写入日志文件。我已将其设置为默认日志文件。
最后,我检查了 file_uploads 的 PHPinfo() 设置,看起来一切正常。它们设置为打开,没有疯狂的上传限制或类似的东西。
我可以使用 fopen() 创建文件并将文件写入服务器。
关于我可以做些什么来尝试和调试的任何想法?我没有服务器访问权限(它用于客户端),所以我试图依靠使用 SFTP 和错误输出。但我什么也得不到。
我设法让日志文件输出这个:
INFO - 2016-11-28 01:24:07 --> Session: Class initialized using 'files' driver.
INFO - 2016-11-28 01:24:07 --> Model Class Initialized
INFO - 2016-11-28 01:24:07 --> Controller Class Initialized
INFO - 2016-11-28 01:24:07 --> Model Class Initialized
INFO - 2016-11-28 01:24:07 --> Model Class Initialized
INFO - 2016-11-28 01:24:07 --> Helper loaded: email_helper
INFO - 2016-11-28 01:24:07 --> Upload Class Initialized
所以脚本似乎在 Upload Class Initialized 部分停止。
【问题讨论】:
-
$this->upload->do_upload()返回什么? -
它不返回任何东西。我试过: var_dump($this->upload->do_upload());退出();
-
你能复制粘贴你的表格和它的属性吗?还要确保要上传文件,您将获得
$_FILES中的文件。先检查一下。 -
我正在使用一个简单的表单,默认 和多类型的表单类型。此表单在普通服务器上工作正常并正确上传。只是这台服务器导致我出现问题,但由于 0 条错误消息,我似乎无法调试它。
-
这是哪个 CodeIgniter 和 PHP 版本?以及您是如何启用
error_reporting、display_errors的?
标签: php codeigniter