首页 > 解决方案 > CPanel 中的 CPanel 作业失败,URL 中有 % 字符

问题描述

我有一些 PHP 需要使用 Cron 作业运行,但是它需要一个查询字符串参数,其中包含空格的 % 字符和 URL 编码后的 /。

例如。http://www.example.com/folder/do_something.php?param=Foo%20%2F%20Bar

当我在浏览器中手动运行而不是通过 Cron 运行时,这非常有效。

我的命令如下所示:

curl -u username:password -O "http://www.example.com/folder/do_something.php?param=Foo%20%2F%20Bar"

我在这台服务器上没有 % 的 cron 作业正在工作,而那些有 % 的作业正在失败,错误消息是:

Cron curl -u username:password -O http://www.example.com/folder/do_something.php?param=Foo (注意它是如何在第一个 % 字符处截断 URL 的)。

/bin/sh: -c: line 0: 寻找匹配的 `"' 时出现意外 EOF /bin/sh: -c: line 1: 语法错误:文件意外结束

基本上它不会查看整个 URL。它只在第一个 % 字符处停止。

我已经与虚拟主机一起处理了这个问题,但是它们没用并且无法提供帮助。

我还尝试了其他命令,例如 wget -q -O - 等,并且无论命令方法如何,带有 % 的 URL 都会发生同样的问题。

除了删除 % 字符之外的任何想法?

标签: phpurlcroncharacter-encodingjobs

解决方案


推荐阅读