【php】问题:上传图片可以产生原图,但是不能产生缩略图
环境信息: php手动编译版本:PHP 5.6.31 (cli) (built: Sep 7 2017 14:07:47)
操作系统:Linux SHB-L0071336 2.6.32-642.6.2.el6.x86_64
apache : httpd-2.4.27
上传图片:559k,png格式
php.ini 文件上传配置信息 file_uploads = On
upload_max_filesize = 2M
max_file_uploads = 20
allow_url_fopen = On
allow_url_include = Off
default_socket_timeout = 60
存放图片目录权限 //文件总目录权限
drwxrwxrwx 3 daemon daemon 4096 Sep 7 18:17 files
//原图权限
-rw-r--r-- 1 daemon daemon 558588 Sep 7 18:01 test2 (3).png
//缩略图目录权限
drwxrwxrwx 2 daemon daemon 4096 Sep 6 15:49 thumbnail
报错信息 {"files":[{"name":"test2 (4).png","size":558588,"type":"image\/png","url":"http:\/\/30.4.16.173\/files\/test2%20%284%29.png","error":"Failed to resize image (original, thumbnail)","deleteUrl":"http:\/\/30.4.16.173\/?file=test2%20%284%29.png","deleteType":"DELETE"}]}
A PHP Error was encountered
Severity: Notice
Message: Undefined offset: 0
Filename: controllers/Welcome.php
Line Number: 142
Backtrace:
File: /usr/local/Apache2/htdocs/application/controllers/Welcome.php
Line: 142
Function: _error_handler
File: /usr/local/Apache2/htdocs/index.php
Line: 315
Function: require_once
/usr/local/Apache2/htdocs/application/controllers/Welcome.php 142 行代码
public function manDevices(){
$par = $this->uri->segment(3);
$ref_url = $_SERVER['HTTP_REFERER'];
$arr = explode("/",$ref_url);
$id = $arr[count($arr) - 1];
//print_r($param);
//exit;
if($par == "server"){
error_reporting(E_ALL | E_STRICT);
require('UploadHandler.php');
//$param = $this->uri->segment(4);
$requestMethod = $_SERVER['REQUEST_METHOD'];
if(empty($param)){
$param = $this->uri->segment(4);
if(empty($param)){
$img = $_GET["file"]; //获取上传的文件名
$upload_handler = new UploadHandler(); //上传某张图片
}else{
if($requestMethod == "GET"){
//$upload_handler = new UploadHandler(); //返回所有的图片
}else if($requestMethod == "POST"){
$upload_handler = new UploadHandler();
//下面即是142行
$img_url = array_keys($upload_handler->image_objects)[0];
$img_arr = explode("/",$img_url);
$img = $img_arr[count($img_arr) - 1];
$this->ManPicMod->addPicToDev($id,$img);
}else if($requestMethod == "DELETE"){ //删除特定图片
$upload_handler = new UploadHandler();
}
}
}
}else{
$this->load->view('index');
}
}
已解决,原因是 php 的扩展 gd 模块未生效,重新下载编译配置生效后,问题解决