PHP Call Wget Command

本文介绍了一种在PHP脚本中利用Wget命令进行文件下载的方法,并针对出现的SSL/TLS证书验证错误提供了解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

PHP Call Wget Command

In my PHP code, I am using system command to download files as follow:
$wgetCmd = "wget --no-check-certificate -nv -O " . $this->storageLocal . "{$outputFileName}-downloading.xml {$url}";
if (system($wgetCmd) != 0) {
$success = false;
return $success;
}

In some situation, I get this error message without “—no-check-certificate"
Wget error: ERROR: The certificate of is not trusted / Skipping ssl/tls certificate checks with wget

The fix is add the parameter to wget command.

references:
https://forum.ivorde.com/wget-error-error-the-certificate-of-is-not-trusted-t19611.html
### 如何在 Linux 中结合 `sudo` 和 `wget` 使用 #### 结合 `sudo` 和 `wget` 当需要以超级用户权限运行命令时,可以使用 `sudo` 来提升权限。这通常用于写入受保护目录或执行需要管理员权限的操作。以下是结合 `sudo` 和 `wget` 的常见用法: ```bash sudo wget [选项] URL ``` 例如,如果要下载一个文件并将其保存到 `/usr/local/src/` 目录下,而该目录需要管理员权限访问,则可以这样操作[^1]: ```bash sudo wget https://example.com/file.tar.gz -P /usr/local/src/ ``` 这里 `-P` 参数指定了目标路径。 #### 安装 `wget` 某些系统可能未预装 `wget` 工具,在这种情况下可以通过包管理器安装它。对于基于 Debian 的发行版(如 Ubuntu),可使用以下命令安装: ```bash sudo apt-get update && sudo apt-get install wget ``` 而对于基于 Red Hat 的发行版(如 CentOS 或 Fedora),则应使用 `yum` 或 `dnf`: ```bash sudo yum install wget # 对于 CentOS/RHEL 7 及更早版本 sudo dnf install wget # 对于 Fedora 或 RHEL 8+ ``` #### 常见参数说明 下面是一些常用的 `wget` 参数及其功能概述[^2]: | 参数 | 描述 | |------|-----| | `-O file` | 将输出重定向至指定文件而非默认名称。| | `-o log-file` | 记录调试信息到日志文件中。| | `-c` | 断点续传模式;继续先前中断的部分传输过程。| | `--limit-rate=amount` | 设置最大下载速率(单位 kbps)。| 举例来说,如果我们想限速为每秒 20 KB 并将结果存储在一个特定名字的文件里,我们可以这样做: ```bash sudo wget --limit-rate=20k http://site.example/largefile.zip -O largefile_backup.zip ``` 此命令不仅设置了速度上限还更改了最终保存下来的档案名. #### 高级应用实例 假设我们需要定期备份远程服务器上的数据库转储文件,并希望自动完成这项工作。那么可以用 cron job 加上如下脚本来实现自动化处理: ```bash #!/bin/bash BACKUP_DIR="/backups" DATE=$(date +"%Y%m%d_%H%M%S") FILE="db_dump_$DATE.sql" mkdir -p $BACKUP_DIR cd $BACKUP_DIR || exit # Use sudo to ensure proper permissions when saving files. sudo wget -q 'http://yourserver/dbexport.php' -O "$FILE" find . -type f -mtime +7 -delete ``` 上面这个简单的 Bash 脚本每天都会创建一个新的 SQL 备份副本存放在本地磁盘的一个专门位置,同时删除超过七天旧的数据来节省空间[^2].
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值