宝塔724运维节来了,企业版999元/年,送安全巡检;证书组队,低至28元!查看活动
当前位置:论坛首页 > Linux面板 > 求助

【测试中】新版本php兼容问题

发表在 Linux面板2020-12-24 18:21 [复制链接] 11 2123

最近用到了又拍云,但是今天遇到个对接问题,宝塔很老版本的环境下,测试没有问题,用新版本宝塔搭建环境后,出现不兼容问题,用的官方测试问题:
老版本宝塔一路升级上来,没问题,测试链接:http://c.ggxzw.com/rest_upload.php,显示200,说明上传成功
新版本搭建完后,有问题,显示:0,说明有问题,链接:http://xs.ynmrw.com/rest_upload.php
服务器可以正常ping通又拍,而且直接在执行语句可以正常上传,说明可以正常连通。

服务器环境:linux+php 5.6 7.2等全都测试,还是显示错误
请问如何处理
rest_upload.php由又拍云官方提供,代码如下:

  1. <?php
  2. //Rest Api Upload Demo

  3. class upyun{
  4.         const END_POINT = "http://v0.api.upyun.com";
  5.         private $bucketname;
  6.     private $username;
  7.     private $password;
  8.         private $ctimeout;

  9.         public function __construct($bucketname, $username, $password, $ctimeout){

  10.                 $this->bucketname = $bucketname;
  11.         $this->username = $username;
  12.         $this->password = $password;
  13.         $this->ctimeout = $ctimeout;

  14.         }

  15.         public function restupload($localpath, $savepath){

  16.                 $uri = "/{$this->bucketname}$savepath";
  17.                 $date = gmdate('D, d M Y H:i:s \G\M\T');
  18.                 $fsize = filesize($localpath);
  19.                 $signature = base64_encode(hash_hmac("sha1", "PUT&$uri&$date", md5("{$this->password}"), true));
  20.                 $header = array("Content-Length:$fsize", "Authorization:UPYUN {$this->username}:$signature", "Date:$date");

  21.                 $fh = fopen($localpath,'rb');
  22.                 $ch = curl_init(self::END_POINT.$uri);
  23.                 curl_setopt($ch, CURLOPT_INFILE, $fh);
  24.                 curl_setopt($ch, CURLOPT_INFILESIZE, $fsize);
  25.                 curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
  26.                 curl_setopt($ch, CURLOPT_TIMEOUT, "{$this->ctimeout}");
  27.                 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  28.                 curl_setopt($ch, CURLOPT_POST, 1);
  29.                 curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
  30.                 curl_exec($ch);
  31.                 $rsp_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
  32.                 curl_close($ch);
  33.                 echo $rsp_code;

  34.         }

  35. }

  36. $upyun = new upyun("服务名", "操作员账号", "操作员密码", 3600);
  37. $upyun->restupload("13.jpg", "/999.jpg");



  38. ?>
复制代码


使用道具 举报 只看该作者 回复
发表于 2020-12-28 15:30:39 | 显示全部楼层
请问你用的是什么系统?
你可以进入ssh 执行以下几个命令看看php是否能恢复正常
rm -rf /usr/local/curl
wget http://download.bt.cn/install/0/lib.sh
修改lib.sh文件
有个curlVersion="7.70.0" 改成 curlVersion="7.64.0"
保存
然后bash lib.sh执行一下
最后面再卸载编译方式重装php 看看正不正常
使用道具 举报 回复 支持 1 反对 0
发表于 2020-12-24 20:22:12 | 显示全部楼层
您好,您无法上传的网站对应的日志截图看下?/www/wwwlogs目录下对应的网站名
使用道具 举报 回复 支持 反对
发表于 2020-12-25 08:56:56 | 显示全部楼层
网站日志正常,无错误日志提示,如图
QQ截图20201225085408.jpg QQ截图20201225085421.jpg
使用道具 举报 回复 支持 反对
发表于 2020-12-25 08:58:49 | 显示全部楼层
本帖最后由 小v 于 2020-12-25 16:19 编辑

经测试,基本可以排除机房和链接问题,问题是处在环境上。分别再阿里云和腾讯云  2个不同公司的机房测试了,位置 香港。全部报错无法使用。阿里云香港(CentOS 7.7.1908(Py3.7.8)):
http://ali.ynmrw.com/rest_upload.php

腾讯云香港(系统:CentOS 8.0.1905(Py3.7.8)
http://xs.ynmrw.com/rest_upload.php

阿里云 -上海

http://sh.ynmrw.com/rest_upload.php

执行只提示错误:0
QQ截图20201225161720.jpg
一年前老的宝塔系统搭建的环境,测试链接:
http://old.ynmrw.com/rest_upload.php

只有这个,还有本地用iis测试的环境,是可以正常使用的。显示:200
QQ截图20201225161737.jpg
所有用宝塔新环境搭配的,对此php都不兼容,提示错误,测试所用php文件为同一份文件。

可以确认,宝塔新版本存在兼容问题。是函数不支持还是什么问题,请问如何处理。

使用道具 举报 回复 支持 反对
发表于 2020-12-25 16:21:16 | 显示全部楼层
大炮运维V587 发表于 2020-12-24 20:22
您好,您无法上传的网站对应的日志截图看下?/www/wwwlogs目录下对应的网站名 ...

已在不同地区做测试,只有本地iis下,还有一年前老的宝塔版本可以支持。请问如何处理
使用道具 举报 回复 支持 反对
发表于 2020-12-26 10:47:03 | 显示全部楼层
小v 发表于 2020-12-25 08:56
网站日志正常,无错误日志提示,如图

error.log 这个日志文件为空吗?
使用道具 举报 回复 支持 反对
发表于 2020-12-26 11:14:30 | 显示全部楼层
大炮运维V587 发表于 2020-12-26 10:47
error.log 这个日志文件为空吗?

对。建议你们官方自己测试下,api对接问题上肯定存在问题。又拍云官方文件已经提供。目前linux最新版直接安装,没有支持的。全部报错。本地iis、宝塔Windows面板测试好像无问题、
使用道具 举报 回复 支持 反对
发表于 2020-12-26 15:15:03 | 显示全部楼层
小v 发表于 2020-12-26 11:14
对。建议你们官方自己测试下,api对接问题上肯定存在问题。又拍云官方文件已经提供。目前linux最新版直接 ...

感恩感谢您的反馈!我们会进行测试的
使用道具 举报 回复 支持 反对
发表于 2020-12-28 17:16:49 | 显示全部楼层
河妖 发表于 2020-12-28 15:30
请问你用的是什么系统?
你可以进入ssh 执行以下几个命令看看php是否能恢复正常
rm -rf /usr/local/curl

在2个地点初步测试通过,很棒
使用道具 举报 回复 支持 反对
发表于 2020-12-28 17:46:45 | 显示全部楼层
河妖 发表于 2020-12-28 15:30
请问你用的是什么系统?
你可以进入ssh 执行以下几个命令看看php是否能恢复正常
rm -rf /usr/local/curl

继续反馈个问题  目前这样操作  最高支持php7.2,再高不支持了好像
使用道具 举报 回复 支持 反对
发表于 2020-12-29 10:03:08 | 显示全部楼层
河妖 发表于 2020-12-28 15:30
请问你用的是什么系统?
你可以进入ssh 执行以下几个命令看看php是否能恢复正常
rm -rf /usr/local/curl

今天发现新问题,按这操作,重启服务器后又恢复原来的不支持状态。需要再次操作
使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急运维服务

响应时间:3分钟

问题处理方式:宝塔专家1对1服务

工作时间:工作日:9:00 - 18:30

宝塔专业团队为您解决服务器疑难问题

点击联系技术免费分析

工作时间:09:00至18:30

快速回复 返回顶部 返回列表