php ftp上传,本地测试可以,上传服务器却失败,ftp_put总是返回false
时间:2023年08月15日
/来源:网络
/编辑:佚名
为了实现网站程序和图片资源分离,决定在网站上传图片的时候,直接通过ftp的形式上传到图片服务器。经过一番折腾后,终于在本地测试成功。高兴的把代码上传Linux服务器后执行却发现上传到ftp服务器的图片都是0kb,很是烦恼。
经过检查发现在调用ftp_put时总是返回false,说明ftp传输文件时出现了错误。猜测是服务器防火墙的问题,于是用命令systemctl stop firewalld 直接关闭了防火墙,然后测试,文件上传成功。
可是关闭防火墙对服务器总不是那么安全。然后用通过查看php文档对ftp上传相关的描述,发现ftp上传是有主动模式和被动模式区分的。默认是用的主动模式,这时我们只需要使用ftp_pasv函数来开启被动模式即可。这样就不用关闭服务器的防火墙了。
其实问题的所在就是客户端的防火墙没有开放ftp主动模式需要的端口,如果真的需要使用主动模式,将客户端和服务端的相关端口打开也是可以的。
经过检查发现在调用ftp_put时总是返回false,说明ftp传输文件时出现了错误。猜测是服务器防火墙的问题,于是用命令systemctl stop firewalld 直接关闭了防火墙,然后测试,文件上传成功。
可是关闭防火墙对服务器总不是那么安全。然后用通过查看php文档对ftp上传相关的描述,发现ftp上传是有主动模式和被动模式区分的。默认是用的主动模式,这时我们只需要使用ftp_pasv函数来开启被动模式即可。这样就不用关闭服务器的防火墙了。
其实问题的所在就是客户端的防火墙没有开放ftp主动模式需要的端口,如果真的需要使用主动模式,将客户端和服务端的相关端口打开也是可以的。
新闻资讯 更多
- 【建站知识】查询nginx日志状态码大于400的请求并打印整行04-03
- 【建站知识】Python中的logger和handler到底是个什么?04-03
- 【建站知识】python3拉勾网爬虫之(您操作太频繁,请稍后访问)04-03
- 【建站知识】xpath 获取meta里的keywords及description的方法04-03
- 【建站知识】python向上取整以50为界04-03
- 【建站知识】scrapy xpath遇见乱码解决04-03
- 【建站知识】scrapy爬取后中文乱码,解决word转为html 时cp1252编码问题04-03
- 【建站知识】scrapy采集—爬取中文乱码,gb2312转为utf-804-03