codeigniter 3,文件上传给出 HTTP ERROR 500
Posted
技术标签:
【中文标题】codeigniter 3,文件上传给出 HTTP ERROR 500【英文标题】:codeigniter 3, file upload gives HTTP ERROR 500 【发布时间】:2017-03-10 17:24:09 【问题描述】:我是 CodeIgniter 3 框架的新手,所以我对这个错误有点深。基本上,当我尝试上传图片时,它会抛出 HTTP ERROR 500,并且服务器上的错误日志中没有错误。
这是控制器的功能:
if ($_POST)
$config['upload_path'] = './uploads/';
$config['allowed_types'] = 'gif|jpg|jpeg|png';
$config['max_size'] = '1024';
$config['max_width'] = '1920';
$config['max_height'] = '1280';
$this->load->library('upload', $config);
foreach ($_FILES as $fieldname => $fileObject)
if (!empty($fileObject['name']))
$this->upload->initialize($config);
if (!$this->upload->do_upload($fieldname))
var_dump($this->upload->display_errors());
else
// SUCCESS
我已经用 is_dir、is_writable 等检查了$config['upload_path']
。这是 777 的 chmod。$fieldname/$fileObject
具有正确的值。没有添加 .htaccess,我正在子域根目录中工作
任何建议都将不胜感激,因为我没有想法:)
【问题讨论】:
@noushid p,如果你注意到的话……他说他收到了一条错误消息。 每当出现 500 错误时,都应该有一个服务器日志,其中包含确切的错误消息 somewhere。您确定您正在寻找正确的位置吗? 我在本地主机(Windows 10)上遇到了完全相同的问题。请问有人找到解决办法了吗? @Azmeer 你看过你的错误日志了吗?根据您使用的服务器,它将位于不同的路径中。对于 XAMPP,路径为 ***.com/questions/3719549/… 【参考方案1】:this may be php.ini file problem
打开你的 php.ini 文件
搜索 extension=php_fileinfo.dll
如果你使用的是 xampp,它可能会被默认注释
改变
;extension=php_fileinfo.dll
to
extension=php_fileinfo.dll
然后重新启动你的 xampp...
这解决了我的问题
【讨论】:
【参考方案2】:在 php.ini 中启用 extension=php_fileinfo.dll
【讨论】:
【参考方案3】:@STL 你使用 XAMPP 和 Codeigniter 3.1.2 吗?我也经历过。 我认为这是 CodeIgniter 3.1.2 中的一个错误,因为在 XAMPP 或 CentOS 中默认不加载 fileinfo.dll。也许您应该检查服务器中的 fileinfo 扩展名并加载它,或者将 Codeigniter 系统降级到 3.1.0。
来源:Github
【讨论】:
以上是关于codeigniter 3,文件上传给出 HTTP ERROR 500的主要内容,如果未能解决你的问题,请参考以下文章
网址在 codeigniter 中无法正常工作,给出错误“未指定输入文件”。
如何设置 CodeIgniter 忽略 Wordpress 文件夹?